open(IN, "fixed.txt") or die "cannot open file $!"; my %hash ={}; my @arr; while(my $row =){ push @arr, unpack("x0 A12",$row ); #print unpack("x0 A12",$row ),"\n"; } $hash{$_}++ for @arr; # Adding Header my @heading = ("minute", "number of messages"); open (OUT, '>:encoding(UTF-8)', "outputfile.csv") or die $!; $csv->print ( OUT, $_ ) for @heading; $csv->print ( OUT, $_ ) for sort keys %hash; # Error's Out close OUT;