#!/usr/bin/perl use warnings; use strict; while (my $record = ){ $record =~ s/\R//g; if ($record =~ /^.*transcript_id "([^"]*).*class_code "([^"]*)/){ my $trans = $1; my $class = $2; #if($class eq 's' | $class eq 'x' | $class eq 'u'){ if( 'sux' =~ /$class/ ){ print "$trans\n"; } } } __DATA__ . transcript_id "g29202.t1"; gene_id "g29202"; gene_name "G42051"; xloc "XLOC_053322"; cmp_ref "G42051.1"; class_code "c"; tss_id "TSS54758"; . transcript_id "g29205.t1"; gene_id "g29205"; xloc "XLOC_053323"; class_code "u"; tss_id "TSS54760"; . transcript_id "g29176.t1"; gene_id "g29176"; xloc "XLOC_053324"; class_code "u"; tss_id "TSS54761"; . transcript_id "g29178.t1"; gene_id "g29178"; gene_name "G42030"; xloc "XLOC_053326"; cmp_ref "G42030.1"; class_code "o"; tss_id "TSS54763";