X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fexigrep.src;h=835766fb465d83c0c3c10e532b99b137538fba01;hb=d447dbd160a0fb503ed1e763f3f23d28744b6ddd;hp=1899267be74d048bef2d313f7b8fe9e876582787;hpb=571b27158aa468eda77b1a20ed80bed1f342e15d;p=exim.git diff --git a/src/src/exigrep.src b/src/src/exigrep.src index 1899267be..835766fb4 100644 --- a/src/src/exigrep.src +++ b/src/src/exigrep.src @@ -5,9 +5,10 @@ use strict; BEGIN { pop @INC if $INC[-1] eq '.' }; use Pod::Usage; -use Getopt::Long; +use Getopt::Long qw(:config no_ignore_case); +use File::Basename; -# Copyright (c) 2007-2015 University of Cambridge. +# Copyright (c) 2007-2017 University of Cambridge. # See the file NOTICE for conditions of use and distribution. # Except when they appear in comments, the following placeholders in this @@ -158,7 +159,8 @@ my $compressors = { gz => { cmd => 'zcat', args => '' }, bz2 => { cmd => 'bzcat', args => '' }, xz => { cmd => 'xzcat', args => '' }, - lzma => { cmd => 'lzma', args => '-dc' } + lzma => { cmd => 'lzma', args => '-dc' }, + zst => { cmd => 'zstdcat', args => '' }, }; my $csearch = 0; @@ -229,6 +231,12 @@ GetOptions( -noperldoc => system('perldoc -V 2>/dev/null >&2') ); }, + 'version' => sub { + print basename($0) . ": $0\n", + "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", + "perl(runtime): $]\n"; + exit 0; + }, ) and @ARGV or pod2usage; $pattern = shift @ARGV; @@ -237,7 +245,8 @@ $pattern = quotemeta $pattern if $literal; # Start a pager if output goes to a terminal if (-t 1 and $use_pager) { - foreach ($ENV{PAGER}//(), 'less', 'more') + # for perl >= v5.10.x: foreach ($ENV{PAGER}//(), 'less', 'more') + foreach (defined $ENV{PAGER} ? $ENV{PAGER} : (), 'less', 'more') { local $ENV{LESS} .= ' --no-init --quit-if-one-screen'; open(my $pager, '|-', $_) or next; @@ -305,8 +314,8 @@ given host, for example. If no file names are given on the command line, the standard input is read. -For known file extensions indicating compression (F<.gz>, F<.bz2>, F<.xz>, and F<.lzma>) -a suitable de-compressor is used, if available. +For known file extensions indicating compression (F<.gz>, F<.bz2>, F<.xz>, +F<.lzma>, and F<.zst>) a suitable de-compressor is used, if available. The output is sent through a pager if a terminal is connected to STDOUT. As pager are considered: C<$ENV{PAGER}>, C, C. @@ -346,7 +355,7 @@ Do not use a pager, even if STDOUT is connected to a terminal. =item B<-h>|B<--help> Print a short reference help. For more detailed help try L, -or C. +or C. =item B<-m>|B<--man>