in reply to var comparison

Using smart matching (5.10+) is another option (unless 'clarity of intent' is compromised):

$var ~~ [qw/foo bar/];

Replies are listed 'Best First'.
Re^2: var comparison
by LanX (Saint) on Sep 06, 2012 at 23:39 UTC
    carefull! better always stringify if you're not sure that its not a ref "$var" ~~ [qw/foo bar/]

      Why, with the following expected behavior?

      use Modern::Perl; my $var1 = 'foo'; my $var2 = \$var1; say $var2; # prints SCALAR(0x2590b8) say "$var2"; # prints SCALAR(0x2590b8) say $var1 ~~ [qw/foo bar/]; # is true: prints 1 say $var2 ~~ [qw/foo bar/]; # is false: prints nothing say "$var2" ~~ [qw/foo bar/]; # is false: prints nothing
Re^2: var comparison
by nemesisgus (Acolyte) on Sep 06, 2012 at 22:00 UTC
    Thanks Kenosis. Smart matching promises to be a new friend from now on.