use Storable 'dclone';@l=map{[map{int rand 7?0:1}0..23]}0..79;while(1){@f=@{dclone\@l};print"\033[2J";for$y(0..23){for$x(0..79){print$l[$x][$y]?O:$";$n=0;for$h(-1..1){!$_&&!$h or$n+=$l[($x+$_)%79][($y+$h)%23]for-1..1}$l[$x][$y]?$n<2||$n>3?$f[$x][$y]=0:0:$n==3?$f[$x][$y]=1:0}print$/}@l=@{dclone\@f};sleep 1}