@list = qw/123 3.14 foo bar 42/; $q = <>; chomp $q; $test = ($q eq "num") ? sub{ $a <=> $b } : sub{ $a cmp $b }; $\="\n"; print join ",", sort $test @list;