#!/usr/bin/perl use strict; # enforce variable declarations use warnings; # enable warnings my $Usage = "Usage: $0 [sequence.file]\n (reads stdin if no file name is given)\n"; die $Usage unless ( -p STDIN or ( @ARGV and -f $ARGV[0] )); my %counts; # tally of letter occurrences # read lines from named file(s) or from stdin: while (<>) { s/\s+$//; # remove white space (line termination) from end of line for my $ltr ( split // ) { # split into individual characters $counts{$ltr}++; } } # print results: for my $ltr ( sort keys %counts ) { print " Number of $ltr nucleotides: $counts{$ltr}\n"; }