Skip to content

Instantly share code, notes, and snippets.

@xtender
Created November 14, 2012 19:21
Show Gist options
  • Save xtender/4074145 to your computer and use it in GitHub Desktop.
Save xtender/4074145 to your computer and use it in GitHub Desktop.
eval operators
%sub = (
">" => sub{ $_[0] > $_[1] },
"<" => sub{ $_[0] < $_[1] },
"=" => sub{ $_[0] == $_[1] },
"!=" => sub{ $_[0] != $_[1] }
);
$p = $ARGV[0]; # number
$r = $ARGV[1]; # operator
$q = $ARGV[2]; # number
print $sub{$r}($p,$q) ? "Yes\n":"No\n"
# example:
#
# >1.pl 10 "=" 20
# No
#
# >1.pl 10 "!=" 20
# Yes
#
# >1.pl 10 "<" 20
# Yes
#
# >1.pl 10 ">" 20
# No
#
# >1.pl 10 ">" 0
# Yes
#
# >1.pl 10 ">" Z
# Yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment