#!/usr/bin/perl $filename = time(); if(!open(TEXTFILE, "> temp_datafile")) { print STDERR "Can't open file"; } @alphabet = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'); for ($i=0; $i<26; $i++) { $arr[$i] = "$alphabet[$i]\t0"; } if(!open(TEXTFILE2, "@ARGV")) { print STDERR "Can't open file"; } if(!open(TEXTFILE3, "> $filename")) { print STDERR "Can't open file"; } while ((read(TEXTFILE2, $buf, 1)) != EOF) { if ($buf =~ /[a-zA-Z]/) { $buf =~ tr/A-Z/a-z/; for ($i=0; $i<26; $i++) { if ($arr[$i] =~ /$buf/) { ($alpha, $freq) = split(/\t/, $arr[$i]); $freq++; $arr[$i] = "$alpha\t$freq"; } } } } for ($i=0; $i<26; $i++) { ($alpha, $freq) = split(/\t/, $arr[$i]); $alpha2 = $alpha; $alpha = $i + 1; $arr[$i] = "$alpha\t$freq"; $arr2[$i] = "$freq\t$alpha2"; print TEXTFILE "$arr[$i]\n"; } print "The highest frequency of letters is:-\n"; sub numerically { $a <=> $b } @arr3 = reverse sort numerically @arr2; for ($i=0; $i<26; $i++) { ($freq, $alpha) = split(/\t/, $arr3[$i]); $arr3[$i] = "$alpha\t$freq"; print TEXTFILE3 "$arr3[$i]\n"; if ($i < 13) { print "$arr3[$i]\n"; } }