my %cmds=( '<=' => sub{ $_[0] <= $_[1] }, '==' => sub{ $_[0] == $_[1] }, '>=' => sub{ $_[0] >= $_[1] }, 'or' => sub{ $_[0] or $_[1] }, 'and' => sub{ $_[0] and $_[1] }, ); my $cmd='<='; my $param1=1; my $param2=2; if(exists($cmds{$cmd})) { if($cmds{$cmd}->($param1,$param2)) { print "$param1 ist $cmd $param2\n"; } else { print "$param1 ist nicht $cmd $param2\n"; } } else { warn(qq(UNKOWN COMMAND "$cmd"!)); }