you could pass a 200 line script like this -
though you might find it a pain to write all on one line.
So, write it on multiple lines.
-e may be repeated:
$ perl -wl -e 'print "This is line 1";' \
-e 'print "This is line 2";' \
-e 'print "This is line 3";' \
-e 'print "This is line 4";' \
-e 'print "This is line 5";'
works like a charm.
-p (looping plus)
in longhand it looks like this:
while(<>) { print ; }
Actually, it's a bit more subtle than that, as can be shown by
using the deparser:
$ perl -MO=Deparse -pe '1'
LINE: while (defined($_ = <ARGV>)) {
'???';
}
continue {
print $_;
}
-e syntax OK
The print is done in a continue block, so it will print even if you
use
next in the supplied code. Note also the label.
-a (split)
in longhand:
split;
Well, that should be:
@F = split;, but it should be
noteworthy that
-a only works in combination with
-n or
-t.
perl -01512 -e
This is what I get when I run it:
$ perl -01512 -e 1
Unrecognized switch: -2 (-h will show valid options).
$
You can only use
-0 to set
$/ to a one character string -
not to set it to
\r\n.
Abigail