use strict; open(STDERR, ">>stderr.log" ) or die "cannot redirect stderr output in log file : $!\n"; my $file = $ARGV[0]; open my $FILE, q{<}, $file or die "cannot open the file"; my @acronyms_captured; my %seen; while(){ $_ =~ s/\s+$//; my @Elements = split /\s/; print STDOUT "@Elements\n"; foreach my $el (@Elements) { if ($el =~ /[A-Z]+/){ if ($seen{$el} == 0){ push @acronyms_captured, $el; $seen{$el} ++ ; } } } } foreach my $acronym(@acronyms_captured){ print STDOUT "$acronym\n"; }