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