Code:
#!/usr/bin/perl
#
# Filename: shuffle.pl
#
# Usage: ./shuffle FILENAME
#
# Description: shuffles FILENAME and prints to stdout
use strict;

shuffle($ARGV[0]);

sub shuffle($) {
  my(@lines, $r);
  if (!-e $_[0]) { return; }
  open(FILE, $_[0]);
  @lines = <FILE>;
  while ($#lines) {
    $r = int(rand($#lines));
    print $lines[$r];
    splice(@lines, $r, 1);
  }
  close(FILE);
}


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"