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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.