#!/usr/bin/perl $/ = "ENDRECORD"; while (<>) { $record = $_; /(.*)<\/FLAGS>/; $flags = $1; if ($flags !~ /E/) { while ($record =~ s/(.*?)<\/OLDINF>//) { $oldinf = $1; if (($oldinf =~ /^[a-z][a-z][a-z][a-z][a-z][a-z][a-z]ed$/) || ($oldinf =~ /^[a-z][a-z][a-z][a-z][a-z][a-z]ing$/)) { print "$oldinf\n"; } } while ($record =~ s/(.*?)<\/RON>//) { $ron = $1; if ($ron =~ /^[a-z][a-z][a-z][a-z][a-z][a-z][a-z][a-z][a-z]$/) { print "$ron\n"; } } /(.*)<\/HEAD>/; $head = $1; if (nine_letter_word($head)) { print "$head\n"; } } } sub nine_letter_word { ($candidate) = @_; return ($candidate =~ /^[a-z][a-z][a-z][a-z][a-z][a-z][a-z][a-z][a-z]$/); }