Sortering

Perl & Ruby

1 svar · 276 visningar · startad av Qaz

Medlem sedan feb. 2000211 inlägg
Trådstart#1

Håller på med ett litet script för att hämta virus stat från en mail log. Vill få antalet ggr ett virus hittat sorterat i antal gånger. Typ W32/Swen.A@mm .... 52 ggr
w32/Klez.H@mm ... 45 ggr
osv. att söka ut viruset ur loggen har jag gjort, men att sortera....

Så här ser valda delar av koden ut.

  if ($Line =~ /.*Infection: (.*)/) {
           ($Virus) = ($Line =~ /.*Infection: (.*)/);
           if( $Virus ne "" ) {
	           $VirusCount++;
		   $Virus =~ s/\ //g;
                   $Virus =~ s/\n//g;
	           push @Viri,"$Virus";
           }
        }	

foreach $in(@Viri) {
  push (@UniqueList,$in) unless ($Seen{$in});
  $Seen{$in}++;
}

print "Virus today";
print ":\n\n";
foreach $in(@SortedViri) {
   print "$in.....$Seen{$in} times.\n";
}

Jag har inte skrivit all kod själv, klippt och klistrat från div perl script som gör liknande saker, men inte allt som jag vill ha med.

Tacksam för hjälp med sorteringn....

Medlem sedan juni 20004 308 inlägg
#2
foreach $in ([url=http://www.perldoc.com/perl5.6/pod/func/sort.html]sort[/url](@UniqueList)) {
   print "$in.....$Seen{$in} times.\n";
}
254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)