erwthsh perl
Nikos Kanellopoulos
nkan at panafonet.gr
Fri Apr 8 13:01:29 EEST 2005
Στο παρακάτω πολύ απλό σκριπτάκι, το run
$ ./debug.pl abc
θα έπρεπε να επιστρέφει την τιμή 1, που όμως
δεν συμβαίνει.
Το πρόβλημα προφανώς έγκειται στο if της συνάρτησης
is_in_white(). Καταλαβαίνει κανείς πού είναι
το λάθος;;
Ευχαριστώ.
--------debug.pl----------------------------------------------------
#!/usr/bin/perl
use strict;
my $release = 0;
my $whitefile = "whitelist.txt";
my $logfile = "spamlog.txt";
my @whitelist; # the list of valid senders
open(WHITELIST, '+<', $whitefile)
or die "Could not open white-list file $whitefile: $!\n";
@whitelist = <WHITELIST>;
my $string = shift;
print "\nis_in_white($string) returned: ", is_in_white($string), "\n";
sub is_in_white() {
my $address = shift;
print "address: $address\n" unless $release;
foreach my $pattern (@whitelist) {
print "pattern: $pattern" unless $release;
if ($address =~ m/$pattern/) {
print "$address matches $pattern\n";
return 1;
}
}
return 0;
}
------------------------------------------------------------------
-----whitelist.txt------------------------------------------------
abc
def
ghi
------------------------------------------------------------------
More information about the Linux-greek-users
mailing list