X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fexigrep.src;h=fd07fd8f1bd46fdef5a298e858f19b5faf6f95af;hb=e89d95f1909c0972b0e854ae05f50246f4d727d6;hp=bdeffae82c3a22d55c99c2a81c38733341421560;hpb=c5db348c5e29e93e51389fa0079f829967c5da82;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/exigrep.src b/src/src/exigrep.src index bdeffae82..fd07fd8f1 100644 --- a/src/src/exigrep.src +++ b/src/src/exigrep.src @@ -5,9 +5,11 @@ 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-2017 University of Cambridge. +# Copyright (c) The Exim Maintainers 2020 # See the file NOTICE for conditions of use and distribution. # Except when they appear in comments, the following placeholders in this @@ -158,7 +160,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 +232,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 +246,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 +315,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 +356,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>