use strict; use warnings; sub in { for my $val (@_) { return 1 if $_ eq $val; } return; } sub test1 { my ($var) = @_; my $i; for ($var) { if ( in 1 ) { $i = "One" } elsif ( in 2 ) { $i = "Two" } elsif ( in 3,4,5 ) { $i = "Three, Four or Five" } else { $i = "Other" } } print "$var is $i\n"; } sub test2 { my ($var) = @_; my $i; for ($var) { if ( in 1 ) { $i = "One" ;next} if ( in 2 ) { $i = "Two" ;next} if ( in 3,4,5 ) { $i = "Three, Four or Five" ;next} $i = "Other" } print "$var is $i\n"; } test1($_) for 1..6; test2($_) for 1..6;