ok; I confess: I'm pretty sure I'm not getting the point. Some kind and wise one wanta' elucidate?
from nutshell
" -n (c)auses Perl to assume the following loop around your script, which makes it iterate over filename arguments:"
LINE:
while (<>) {
... # your script goes here
"By default, the lines are not printed. See -p to have lines printed. BEGIN and END blocks may be used to capture control before or after the implicit loop."
and perl -d japh.pl produces (in relevant part):
main::(japh.pl:4): print "Just another perl hacker."
Can't locate Term/ReadLine.pm in @INC (@INC contains: ) at C:/Perl/lib
+/perl5db.pl line 5725.
Can't locate Term/ReadLine.pm in @INC (@INC contains: ) at C:/Perl/lib
+/perl5db.pl line 5725.
END failed--call queue aborted at japh.pl line 5725.
Same result obtains, with OR without filename arguments.
in cb, holli notes that removing -n produces an error...
So... without digging into all 5725 (+?) lines of ReadLine.pm, I have the impression that the true secret is the lack of "-w" in the shebang or "use warnings" ??? |