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

non-determinate program execution in perl



I have a perl program that runs every hour that scans a POP3 maildrop.
About once every other day the program fails and I get this error:

Can't call method "user" on an undefined value at
/home/user/bin/fetch-headers.pl line 40.

It appears to me that the hash isn't being properly initialized.
Here is the code that initializes the hash.  None of these values
are changed in the program once they are set.

my %pop = (
    server => 'pop.example.org',
    port   =>  110,
    user   => 'someuser@example.org',
    pass   => 'asswordpay',
    dir    => '/home/user/mail'
);

Here is Line 40.

$server->user($pop{user}) || die;

My questions are:
(1) Is there a better way to initialize the hash?
(2) Could this be a fault in perl itself?
(3) Is it something else entirely?

Don



Reply to: