1: #
   2: # The Matrix Has You Curses version to follow 
   3: #
   4: 
   5: use Term::ANSIColor;
   6: $ctrlc = "matrixgo";
   7: $SIG{INT} = sub { $ctrlc = "matrixend"; };
   8: print "\n\n ";
   9: @numbers = (33..94,96..125);
  10: @spln = (2..6);
  11: @colors = ("green","bold green",
  12:            "bold green","green",
  13:            "green","reverse green");
  14: 
  15: while(true) {
  16:         my $rand = ($numbers[rand(@numbers)]);
  17:         print color($colors[rand(@colors)]), chr($rand), color("reset");
  18:         $counter++;
  19:         $lncount++;
  20:         if ($lncount == (80 - 16)) {
  21:                 print " \n ";
  22:                 if($ctrlc eq "matrixend") {
  23:                         print "\n";
  24:                         $ender = "-- The MATRIX has you -- ";
  25:                         $m = int((80 - length($ender))/2);
  26:                         while($mcount <= $m) {
  27:                                 print " "; $mcount++;
  28:                         }
  29:                         print color("bold"), "$ender\n\n";
  30:                         exit;
  31:                 }
  32:                 $lncount = 0;
  33:                 $counter = 0;
  34:         } elsif ($counter == 8) {
  35:                 print "  ", color("reset");
  36:                 $counter = 0;
  37:         }
  38: }