use Term::ReadKey; @_ = GetTerminalSize(); $_[2] = $_[0] / 40; foreach $_ ('3e7e227e3e', '6303630363', '7f3e3e7e3f', '6360630363', '223f227e22') { local $_ = unpack('b*', pack('H*', $_)); s/0/ /g; s/1/#/g; foreach $b (1 .. $_[2]) { foreach $_ (split(//, $_, 0)) { foreach $c (1 .. $_[2]) { print $_; push @_, $_; } } print "\n"; push @_, "\n"; } } @_ = reverse(@_); print @_[0 .. $#_ - 4];