Perl: separating invocation arguments from invocation options before using the diamond operator
<> loops through the @ARGV array, so you can mess with @ARGV in any way you want before processing files with <>.
For examples, this script gets rid of any invocation option starting by '-' before processing the input files:
use List::Util qw(first);
foreach $arg (@ARGV) {
$_ = $arg;
if (/^-/)
{
print "$arg is an invocation option\n";
#Eliminate invocation options from @ARGV before we run the <> operator
splice @ARGV, first { @ARGV[$_] eq $arg } 0..$#ARGV, -1;
}
}
while (<>) {
chomp;
print "It was $_ that I saw\n";
}
Written by Jean-Rémy Duboc
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Perl
Authors

janosgyerik
25.21K

Jean-Remy Duboc
12.28K
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#