First, if you want to open a file in that manner, you
need to should get the file name from
@ARGV instead of STDIN:
my $file = shift @ARGV;
No need to
chomp it either. Next, if you want to print
the line above the current line, you will need to print the
line previously read. You could do this by slurping the
file into an array, or you could just store the previous
line in another scalar:
my $last;
while (<MYFILE>) {
if(/ALARM:/) {
print $. - 1, ": $last";
print "$.: $_";
}
$last = $_;
}
Notice subtracting one from $. to get the previous line
number as well. Everything else looks acceptable, well
everything except that typo in your while expression.
jeffa
Quiz on Friday ;)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.