$description = "Unpacks packed data."; ($ARGV[1]eq"")?&usage:nop; #ensure the proper number of parameters $ifn=$ARGV[0];$ofn=$ARGV[1]; open IFN, "$ifn" or die "Can't open $ifn:$!\n"; open OFN, ">$ofn" or die "Can't open $ofn:$!\n"; print "$0:$ifn->$ofn..\n"; binmode(IFN); while(){ ($.%1000)?nop:print "\rRecords processed:$."; $seq = substr($_,1,7); ###################################################### $seqout = unpack("A14", $seq); #<--Here's the problem ###################################################### print OFN "Input[$.]: >>$seq<<\n"; print OFN "Output[$.]: >>$seqout<<\n\n"; }; print "\rRecords processed:$.\n"; print "Done.\n"; exit; ##############NORMAL TERMINATION HERE############## sub usage{ print "$0\n\n"; print "$description\n\n"; ($fn) = ($0 =~/(.*)\.(.*)/); print "USAGE: perl $fn \n\n"; exit; };