in reply to What is $_
$_ The default input and pattern-searching space. The followi +ng pairs are equivalent: while (<>) {...} # equivalent only in while! while (defined($_ = <>)) {...} /^Subject:/ $_ =~ /^Subject:/ tr/a-z/A-Z/ $_ =~ tr/a-z/A-Z/ chomp chomp($_) Here are the places where Perl will assume $_ even if you +don't use it: * Various unary functions, including functions like ord() + and int(), as well as the all file tests ("-f", "-d") excep +t for "-t", which defaults to STDIN. * Various list functions like print() and unlink(). * The pattern matching operations "m//", "s///", and "tr/ +//" when used without an "=~" operator. * The default iterator variable in a "foreach" loop if no + other variable is supplied. * The implicit iterator variable in the grep() and map() functions. * The default place to put an input record when a "<FH>" operation's result is tested by itself as the sole crit +erion of a "while" test. Outside a "while" test, this will no +t happen. (Mnemonic: underline is understood in certain operations.)
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
|
|---|