#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Std;

$Getopt::Std::STANDARD_HELP_VERSION = 'true';

my $help = 'Usage: scrypt [OPTION] [FILE] . . .
Replace every string of nonwhitespace characters with a single letter.

  -c CHAR    specify the character to be used for substitutions
               (defaults to the lowercase letter s)
  --help     display this help and exit
  --version  output version information and exit

Report bugs at <http://apotheon.org/contact.php?contact=webmaster>.
';

my $version = 'scrypt 0.1.0
Copyright (C) 2006 Chad L. Perrin (Author)
You may distribute copies of this software under the terms of the
CCD CopyWrite license <http://ccd.apotheon.org>.

To the extent permitted by law, no warranty, express or implied,
applies to this software.
';

our $opt_c;
getopts('c:');

$opt_c = 's' unless $opt_c;

my $file = $ARGV[0];
my $text;

{ local $/; $text = <>; }

$text =~ s/\S+/$opt_c/g;

if (-e $file) {
  open FILE, ">$file";
  print FILE $text;
  close FILE;
} else {
  die "Couldn't open $file: $!";
}

sub HELP_MESSAGE {
  print $help;
}

sub VERSION_MESSAGE {
  print $version;
}
All original content may be distributed under the terms of the PDL.