Rmck wrote: > > Hello, Hello,
> This code below works. But I am wondering if it can be made more efficient: > > while (<FHOREAD>) { > > my $sport = (split(/\s/,$_))[8]; > my $sdport = (split(/\s/,$_))[10]; > next if $sport =~ /\D/; > next if $dport =~ /\D/; > if ($sport =~ /^(20|21|22|25|53|80|109|110|123|137|161|443)$/ || $dport =~ > /^(20|21|22|25|53|80|109|110|123|137|161|443)$/) { push @rest, $_ } > else { print FHODATA} > } > print RFHODATA @rest; > } my ( $sport, $dport ) = grep /^\d+\z/, ( split )[ 8, 10 ] or next; if ( grep =~ /^(?:2[0125]|53|80|1(?:09|10|23|37|61)|443)$/, $sport, $dport ) { push @rest, $_ } else { print FHODATA } John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>