switch ( $foo ) {
case ( tr/I/I/ == 1 ) { $bar = 'low' }
case ( tr/I/I/ == 2 ) { $bar = 'med' }
case ( tr/I/I/ == 3 ) { $bar = 'high' }
else { warn "Bad $_\n" }
}
####
Use of uninitialized value $_ in transliteration (tr///)
##
##
#!perl! -w
use strict;
use Switch;
my $foo = 'II';
print $foo =~ tr/I/I/, "\n";
my $bar;
switch ( $foo ) {
case ( tr/I/I/ == 1 ) { $bar = 'low' }
case ( tr/I/I/ == 2 ) { $bar = 'med' }
case ( tr/I/I/ == 3 ) { $bar = 'high' }
else { $bar = "drat" }
}
print "Foo: $foo Bar: $bar\n";
# This works:
switch ( $foo ) {
case ( /I{3}/ ) { $bar = 'high' }
case ( /I{2}/ ) { $bar = 'med' }
case ( /I/ ) { $bar = 'low' }
else { $bar = "drat" }
}
print "Foo: $foo Bar: $bar\n";
##
##
given ( $foo ) {
when ( tr/I/I/ == 1 ) { $bar = 'low' }
when ( tr/I/I/ == 2 ) { $bar = 'med' }
when ( tr/I/I/ == 3 ) { $bar = 'high' }
default { $bar = "drat" }
}