use strict; use warnings; my %h = ( HEX => sub { return sprintf ("0x%x ", shift) }, BIN => sub { return sprintf ("%b", shift) }, DEC => sub { return sprintf ("%d", shift) }, ); my $value = 5; for my $fmt (sort keys %h){ print "$value in $fmt is: ", $h{$fmt}->($value) , "\n"; }