my $eq_qq = qr/ \s+ = \s+ "([^"]*?)" \s* /x; #!" my $long_regex = qr/^\s+ /x; #!" if ($line =~ $long_regex) { print "$1\n$2\n$3\n$4\n$5\n$6\n$7\n$8\n$9\n$10"; } #### c:\test>220232 3 Sanger source DNA code 1 /data/databases/flatfiles/sequences/species/genome/embl/ch1_Sp.embl 125676 126224 1 1 F #### my @fields = $line =~ $long_regex; if (@fields == 10) { # process $fields[0] .. $fields[9] here } #### my ($id, $status, $CDS_number, $number_of_CDSs, $sequence_source, $startpos, $endpos, $startopen, $endopen, $complement) = $line =~ $long_regex; # Updated: Added ~ if ( $id =~ /\d{0,6}/ ) { print "ID:", $id, "appears to be valid\n"; # Use $id... } ...