use strict; use warnings; my $filename = 'gff.annotated.gtf'; open(my $fh, '<:encoding(UTF-8)', $filename) or die "Can't open $filename: $!"; my @transcript_id = (); my @lines = <$fh>; foreach my $lines (@lines) { my @column= split /\t/, $lines; foreach $element (@column) { if ($element[16] eq '"u"' || '"x"' || '"i"' || '"s"') { push @transcript_id, $element[10]; } } print @transcript_id; #### foreach my $element (@column) # ^^ #### if ($element eq 'u' || $element eq 'x' || $element eq 'i' || $element eq 's') { push @transcript_id, $column[10]; } #### foreach $element (@column) { if ($element eq 'u' || $element eq 'x' || $element eq 'i' || $element eq 's') { push @transcript_id, $column[10]; last; } }