my %h = (
sub { return sprintf ("0x%x", shift) },
sub { return sprintf ("%b", shift) },
sub { return sprintf ("%d", shift) },
);
####
$result = process_args(1, 2, 3, 4);
print "Result is $result \n";
sub process_args {
my $c = shift:
print "Arg array is: @_ \n";
my $d = shift;
print "First argument is $c \n";
print "second argument if $d \n";
print "Arg array is now: @_ \n";
return $c + $d;
}
####
my %h = (
hex => sub { return sprintf ("0x%x", shift) },
bin => sub { return sprintf ("%b", shift) },
dec => sub { return sprintf ("%d", shift) },
);
####
my $hex_val = $h{hex}->(5);
####
print "Arg array is now: @_ \n";