use strict; use warnings; use String::Util 'trim'; use List::MoreUtils qw(uniq); open IN, "<$ARGV[0]" or die "Could not open input file '$ARGV[0]' $!"; my $row; my $val; my $counter = 0; my @trnAccounts; my @unique_accounts; while ($row = ) { $val = substr($row,0,1); @trnAccounts = substr($row,1050,50); @trnAccounts = trim (@trnAccounts); @unique_accounts = uniq (@trnAccounts); foreach (@unique_accounts) { $counter++; print $counter, ":"; print @unique_accounts, "\n"; #print $_, "\n"; this also prints all values } }