I ran across this is code, and while my first guess was that it shouldn't work, it works well. I am just trying to wrap my head around why is does.
use strict;
use warnings;
my $current_index = 12;
my %columns = (
'alpha' => 1,
'bravo' => 2,
'charlie' => 3,
'delta' => 4,
);
foreach my $k ( keys %columns ) {
( $current_index =~ $columns{$k} )
? print "$k matches\n"
: print "$k does not match\n";
}
Output:
bravo matches
charlie does not match
delta does not match
alpha matches
I am trying to grasp why this works, why word perl automagically interpret the scalar as a regex?