my $time = sprintf '%02d0%02d0%02d', (localtime)[2, 1, 0]; for my $mask (8, 4, 2, 1) { print " "; for my $d (split //, $time) { print $d & $mask ? '## ' : ' '; } print "\n $mask "; for my $d (split //, $time) { print $d & $mask ? '## ' : ' '; } print "\n\n"; } print " HH HH MM MM SS SS\n"; #### #!/usr/local/bin/perl -w my $old = ''; print "\e[2J"; while(1){ print "\e[1;1H"; my $time = sprintf '%02d0%02d0%02d', (localtime)[2, 1, 0]; if($time eq $old) { sleep 1; redo; } $old = $time; for my $mask (8, 4, 2, 1) { print " "; for my $d (split //, $time) { print $d & $mask ? "\e[7m \e[m " : ' '; } print "\n $mask "; for my $d (split //, $time) { print $d & $mask ? "\e[7m \e[m " : ' '; } print "\n\n"; } print " HH HH MM MM SS SS\n"; sleep 1; }