in reply to Given When Syntax
I don't think that given()when() is any big deal.
The "old" Perl ways are more than adequate to do this.
The "old" Perl ways are more than adequate to do this.
use strict; use warnings; sub test1 #An if/else implementation.... { my ($var1) = @_; # $var1 = shift; # is slightly faster with one var # my ($var1, $var2) = @_; # slightly faster than than 2 shifts # normally this minor difference doesn't matter. # Perl can implement the if/else idea very code efficiently. return ("One") if ($var1 == 1); return ("Two") if ($var1 == 2); return ("Three") if ($var1 == 3); return undef; } #Using a hash table #Perl will not re-evaluate %hash for every entry into the sub #that table will "still be around to use". sub test2 { my $in = shift; my %hash = ( 1 => "One", 2 => "Two", 3 => "Three", ); return ($hash{$in}) if exists ($hash{$in}); return undef; }
In Section
Seekers of Perl Wisdom