Sortering

Perl & Ruby

1 svar · 263 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";
}
268 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)