in reply to 2d Array - making an array for the column then adding the values

Completely unrelated to your problem...

If you are interested in something more WYSIWYG than your $usage, you could try using a HERE DOC to eliminate all the quoting and newlines:

my $usage = <<EOF usage: $0 [-flags] <fasta file> <output file> (must be all 1 type. ie all fasta NT, all fastq, all fasta fna) etc... EOF

Or better yet, use POD and the Pod::Usage core module.

if( ( $#ARGV + 1 ) < 1 ) { die $usage; }
Another way to code this is:
die $usage unless @ARGV;