if ('foo' eq $val) {
# process case 1
}
elsif ('bar' eq $val or 'baz' eq $val) {
# process case 2
}
elsif ('boom' eq $val) {
# process case 3
}
else {
print "Unexpected value '$val'!\n";
}
Just add elsif blocks as needed. Not as "pretty" as a switch/case statement in other languages, but it's simple and clear.
The way your question is phrased makes me think you might have meant "how do you use different format statements within a page?". To do that, you do something like:
use FileHandle;
format foo_rec =
FOO @>>>>>>>
$flds[3]
.
format dflt_rec =
@<<<<<<< @>>>>>>> @>>>>> @>>>>>
$flds[2] $flds[3] $flds[5] $flds[9]
.
while (<FH>) {
my @flds = split /\|/, $_;
if ($flds[0] eq 'foo') {
format_name FS "foo_rec";
write FS;
}
else {
format_name FS "dflt_rec";
write FS;
}
}
...roboticus
|