http://www.perlmonks.org?node_id=457457

#!/usr/bin/perl split "", (('P'^'U'^'O').('I'^'D'^'x').('X'^'r'^'Y') .('R'^'R'^'t').('w'^'y'^'.').('k'^'F'^'L').('Y'^ 'G' ^'p').('l'^'I'^'J').('R'^'R'^'t').('l'^'T'^'P').('l' ^'F'^'O').('m'^'N'^'Q').('w'^'y'^'.').('e'^'r'^'G'). ('l'^'F'^'O').('m'^'N'^'Q').('j'^'['^']').('w'^'y' ^ '.').('l'^'T'^'P').('k'^'F'^'L').('R'^'B'^'s').('s'^ 'H'^'P').('l'^'F'^'O').('m'^'N'^'Q').('z'^'='^'k')); _:{print"\ec";unshift@_,pop@_;print" "x31 ."^";print "\n"." "x(30-$_).$_[$_]." "." "x($_+$_).$_[$_] for 0 .. @_-1;usleep(250000);redo _}use Time::HiRes usleep