[Thread Prev][Thread Next]   >Date Index >Thread Index

spam-script && use strict

Stefan Bauer - Sat Dec 08 15:29:37 2007

Hallo Leute,

da ich heute mein Programmieren mit Perl Buch erhalten habe, dachte
ich mir, ich versuch mich an einem kleinen Script.

#!/usr/bin/perl -w
use strict;
unless (@ARGV){ print "Aufruf mit ./spam.pl Log-Datei.log"};
open SPAM, $ARGV[0]     or die $!;
my @spam = <SPAM>;
my %benutzer = ();
foreach my $zeile (@spam) {
if ($zeile =~ m/.html; from=<(.*)> to=<(.*)(@.*)> proto/) {
werte_sammeln($1, $3, $2);
}
}
print "e-mail von $absender ging an $alias$empfaenger (Alias:$alias
$benutzer{$alias}{'score'})";
sub werte_sammeln {
my ( $absender, $empfaenger, $alias ) = @_;
$benutzer{$alias}{'score'} = 0;
$benutzer{$alias}{'score'}+= 1;
}

Global symbol "$absender" requires explicit package name at
./regextest.pl line 11.
Global symbol "$alias" requires explicit package name at
./regextest.pl line 11.
Global symbol "$empfaenger" requires explicit package name at
./regextest.pl line 11.
Global symbol "$alias" requires explicit package name at
./regextest.pl line 11.
Global symbol "$alias" requires explicit package name at
./regextest.pl line 11.


Das liegt wohl daran, dass ich die Variablen in der sub werte_sammeln
als privat (my) deklariert habe.

Da ich gerade eine Denkblokade habe, komme ich nicht drauf, wie ich
die Variablen wieder "freigebe".

Danke und schönes WE

stefan


Next: