#!/usr/local/bin/perl -w use strict; no strict qw(refs); my $food = $ARGV[0]; $food ||= 'apple'; my $subname = choose($food); print "We got '$subname' - let's get cookin!\n"; &$subname($food); if ( $subname eq 'fruit' ) { print "Puddings up!\n"; } #--------------- sub choose { my $food = shift; return 'fruit' if ( $food eq 'apple' ); return 'vege' if ( $food eq 'carrot' ); return 'unknown'; } sub fruit { my $food = shift; print "I think '$food' is FRUIT!\n"; } sub vege { my $food = shift; print "I think '$food' is VEGE!\n"; } sub unknown { my $food = shift; print "I don't think '$food' is food at all!\n"; }