webForumDet fria alternativet

Sortering

Perl & Ruby

1 svar · 250 visningar · startad av Qaz

Medlem sedan feb. 2000211 inlägg
Frågan#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";
}
259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)