http://qs321.pair.com?node_id=745672


in reply to Re^3: "defined" in while loop Edit | Delete | Quote | Reply | Private Reply
in thread "defined" in while loop Edit | Delete | Quote | Reply | Private Reply

Another convenience feature?

Yes. It rarely matters, since most uses of <>/readline are for reading newline-terminated lines, which are necessarily true.

And where else does this happen?

It depends on your perception of "this". Perl does many things implicitly, but none other exactly like this.

It is also not anything special about the syntax $somevar = <> because I get the same result if I use readline(...)

It's not specific to the symtax, it's specific to the operator. <> (when used to read from a file) and readline are the same operator.

>perl -MO=Concise -e"my $fh; readline($fh)" ... 6 <1> readline[t2] vK/1 ->7 5 <0> padsv[$fh:1,2] ->6 -e syntax OK >perl -MO=Concise -e"my $fh; <$fh>" ... 6 <1> readline[t2] vK*/1 ->7 5 <0> padsv[$fh:1,2] s ->6 -e syntax OK