in reply to Re: Expression, but is it regular?
in thread Expression, but is it regular?

You were right the second time. That is a good way to explain things. Usually it is best to start out with a multi-line piece of code, rather than trying to write a very complex one liner. It is easier to debug the multi-line piece and then simplify it down into a one liner.

One clarification... (Unfortunately, " "is NEVER true in Perl)... There are some things that are true that you wouldn't think are true (in this case " " actually is). Try some of the following...
perl -e 'print "1\n" if "";' perl -e 'print "1\n" if " ";' perl -e '@a=(); print "1\n" if @a;' perl -e '@a=(undef); print "1\n" if @a;'

Empty strings and empty lists do evaluate to false. Strings and lists with even one item evaluate to true, even if that one item is itself false.

my @a=qw(random brilliant braindead); print $a[rand(@a)];