Jennifer Garner wrote: > Hi,John Hello,
> I think you have understanded wrongly with my meaning. > The result of $low{ $1 }++ is no use for me.I just want the frequency of IP > exists. > For example, if there are some IPs exists in '22.33.44.0' : > > 22.33.44.11 > 22.33.44.22 > 22.33.44.22 > 22.33.44.33 > 22.33.44.33 > 22.33.44.44 > 22.33.44.55 > > Now I only want the uniq times of all IP appeared,this is 5. Do you mean something like this: use Socket; my ( %seen, %total ); while ( <FILE> ) { next if /unknown/; next if /^192\.168\./; next unless /^(\d+\.\d+\.\d+\.\d+)/; my $ip = inet_aton $1; $total{ $ip & "\xFF\xFF\xFF\0" }++ unless $seen{ $ip }++; } close FILE; for ( sort { $total{ $b } <=> $total{ $a } } keys %total ) { print RESULT inet_ntoa( $_ ), "\t", $total{ $_ }, "\n"; } 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>