I made a slight improvement (the output is easier to read).
@x=map(chr,124,47,92,45,95,32,42);($t[0],$t[1],$t[2])=localtime
(time);for(@t){$_='0'.$_ if $_<10}$i[1][1]="$x[5]$x[1]$x[0]$x[5]";
$i[1][2]="$x[5]$x[5]$x[0]$x[5]";$i[1][3]=$i[1][2];$i[1][4]=
"$x[5]$x[4]$x[0]$x[4]";$i[2][1]="$x[1]$x[3]$x[3]$x[2]";$i[2][2]=
"$x[5]$x[4]$x[4]$x[1]";$i[2][3]="$x[1]$x[5]$x[5]$x[5]";$i[2][4]=
"$x[0]$x[4]$x[4]$x[4]";$i[3][1]=$i[2][1];$i[3][2]=
"$x[5]$x[5]$x[5]$x[0]";$i[3][3]="$x[5]$x[5]$x[3]$x[0]";$i[3][4]=
"$x[2]$x[4]$x[4]$x[1]";$i[4][1]="$x[5]$x[1]$x[5]$x[0]";$i[4][2]=
"$x[1]$x[4]$x[4]$x[0]";$i[4][3]=$i[3][2];$i[4][4]=$i[4][3];
$i[5][1]="$x[1]$x[3]$x[3]$x[3]";$i[5][2]="$x[0]$x[4]$x[4]$x[5]";
$i[5][3]="$x[5]$x[5]$x[5]$x[2]";$i[5][4]=$i[2][2];$i[6][1]=$i[5][1];
$i[6][2]=$i[5][2];$i[6][3]="$x[0]$x[5]$x[5]$x[2]";$i[6][4]=$i[3][4];
$i[7][1]=$i[5][1];$i[7][2]="$x[5]$x[5]$x[5]$x[1]";$i[7][3]=
"$x[5]$x[5]$x[1]$x[5]";$i[7][4]="$x[5]$x[1]$x[5]$x[5]";$i[8][1]=
$i[3][1];$i[8][2]=$i[6][4];$i[8][3]="$x[1]$x[5]$x[5]$x[2]";
$i[8][4]=$i[6][4];$i[9][1]=$i[2][1];$i[9][2]=$i[8][2];
$i[9][3]=$i[7][3];$i[9][4]=$i[7][4];$i[0][1]=$i[9][1];$i[0][2]=
"$x[0]$x[5]$x[5]$x[0]";$i[0][3]="$x[0]$x[5]$x[5]$x[0]";$i[0][4]=
$i[9][2];print "\n";@T=split(//,"$t[2]$t[1]$t[0]");for $y (1..4)
{for $l(0..$#T){print $i[$T[$l]][$y],($l&5|$y&2)==3?@x[5,6,5]:
($l&13)==1?@x[5,5,5]:$x[5];}print "\n";}print "\n";