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


in reply to Re: ARGV question
in thread ARGV question

I got curious about that behavior of the zero length result, went looking and now humbly share my findings.

In chapter 3 of Programming Perl it is said that

The equal and not-equal operators return 1 for true and "" for false (3.12)

and

The && and || operators differ from C's in that, rather than returning 0 or 1, they return the last value evaluated. (3.14)

so, @ARGV is greater than 0 and passes, eq fails and returns '', and thus && returns the last value evaluated, which is ''.