#!/usr/bin/perl # Worm # See also http://perlmonks.org/?node_id=324485 # Requires: Term::ReadKey use Term::ReadKey;ReadMode 3;%v=qw{a -1 s 80 w -80};$f=print"\ec";{p($d +=$v{$c=ReadKey(-1)||$c}||1,"x");$d%$f?p(pop@s,$"):p($f=999*rand,"@"); select$q,$q,$q,(p(0,$/))/20;map$d-$_||&e,@s;@s=($d,@s);redo};sub p{print "\e\[".int($_[0]/80).";".int($_[0]%80)."H".$_[1]}sub e{ReadMode 0;exit}