http://www.perlmonks.org?node_id=324839


in reply to Uncommon* but Useful Perl Command Line Options for One-liners

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