# 20 minute script to take a text file
# and wrap the text in it to an arbitrary
# linesize --power of perl modules
# guts from perldoc Text::Wrap
#!/usr/local/bin/perl -wT
use strict;
use Text::Wrap;
die "\n\nusage: \n\t $0 <filename> [column width]\n"
unless @ARGV==1 or @ARGV==2;
open(FH,$ARGV[0])
or die "couldn't open $ARGV[0] $!";
$ARGV[0]=~ /^([-\@\w.]+)$/; # word chars only
my $clean_out=$1;
$clean_out eq $ARGV[0] or die "bad char in filename $ARGV[0]";
local $/= undef; # read entire file at once
my @text=<FH>;
close (FH);
open(FH, '>',"$clean_out.wrap")
or die "couldn't open ${clean_out}.wrap for writing";
$Text::Wrap::columns = $ARGV[1] || 60;
print FH wrap('', '', @text);
close(FH);