X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/983da87847289c7f5373e4d5933d379f211b7613..d89f32c2711de4e1272b8132a13bf98b9a17580d:/src/src/exigrep.src diff --git a/src/src/exigrep.src b/src/src/exigrep.src index 118cd91b9..835766fb4 100644 --- a/src/src/exigrep.src +++ b/src/src/exigrep.src @@ -5,7 +5,7 @@ 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. @@ -159,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; @@ -233,7 +234,7 @@ GetOptions( 'version' => sub { print basename($0) . ": $0\n", "build: EXIM_RELEASE_VERSIONEXIM_VARIANT_VERSION\n", - "perl(runtime): $^V\n"; + "perl(runtime): $]\n"; exit 0; }, ) and @ARGV or pod2usage; @@ -244,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; @@ -312,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. @@ -353,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>