Here is a micro-optimized, version of AnonyMonk's code (just because it was fun).
#!/usr/bin/perl
use strict;
use warnings;
for (1..6){
print_dice2($_);
};
#------------------------------
sub print_dice2{
my $value = shift or die $!;
my @DICE = ( 0,
0x020, # Use 3 bits per hex digit, and 3 hex digits
0x401, # to represent one printed line
0x421, # of the die face.
0x505,
0x525,
0x555
);
print "---------\n";
for (8,4,0) { #Choose each Hex digit, Left-to-right
my $line = $DICE[$value] >> $_; # Low 4-bits now contain the inf
+o
print '| ', # Now, pick each bit, L-to-R, and print
map({$line & 1 << $_ ? "#" : " "," " } (2,1,0) ),
"|\n";
}
print "---------\n";
};
"An undefined problem has an infinite number of solutions." - Robert A. Humphrey
"If you're not part of the solution, you're part of the precipitate." - Henry J. Tillman