http://www.perlmonks.org?node_id=62400


in reply to Perl is psychic?!

according to the Perl5 Pocket Ref, $& is the string matched by the last successful pattern match. Since your regex .* matches anything $& is set to that by the first line, which matches foo and that's what you print in your eval - it eval's $& and finds 'foo' there. I think... =)
"A man's maturity -- consists in having found again the seriousness one had as a child, at play." --Nietzsche

Replies are listed 'Best First'.
Re: (jptxs)Re: Perl is psychic?!
by MrNobo1024 (Hermit) on Mar 06, 2001 at 05:07 UTC
    Yes, but Perl dosen't set $& if you don't use it, and it was impossible to know that it would be used...
      Whoever voted down the above node completely missed the point. MrNobo1024 is completely correct in saying that if Perl worked as documented as far back as, say, Camel 2 then it should not have had enough information to calculate $&.