App-Greple
view release on metacpan or search on metacpan
script/greple view on Meta::CPAN
usage() and exit if defined $opt_usage;
open SAVESTDIN, '<&', \*STDIN or die "open: $!";
open SAVESTDOUT, '>&', \*STDOUT or die "open: $!";
open SAVESTDERR, '>&', \*STDERR or die "open: $!";
sub recover_stdin {
open STDIN, '<&', \*SAVESTDIN or die "open: $!";
}
sub recover_stderr {
open STDERR, '>&', \*SAVESTDERR or die "open: $!";
binmode STDERR, ':encoding(utf8)';
}
sub recover_stdout {
close STDOUT;
open STDOUT, '>&', \*SAVESTDOUT or die "open: $!";
}
sub close_stdout {
close SAVESTDOUT;
close STDOUT;
script/greple view on Meta::CPAN
eval { local $/; <STDIN> };
}
}
} elsif ($opt_error eq 'ignore') {
if ($opt_warn{read}) {
sub { local $/; <STDIN> };
} else {
sub {
close STDERR;
my $stdin = do { local $/; <STDIN> };
recover_stderr;
$stdin;
}
}
} else {
die "$opt_error: invalid action.\n";
}
};
use Term::ANSIColor::Concise qw(ansi_code);
( run in 0.374 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )