Shawn Milochik wrote:

> I was just playing with Net::POP3 this past weeked.  Here's a working
> script.  It's not great, but I got the basics working, and you can mess
> with it.
> 


It's a nice script, the only things that could be improved is to write 
it more Perlish :-)


> #!/usr/bin/perl


use strict;
use warnings;


> #use Net::FTP;
> use Net::POP3;
> $result = undef;


Define the variables where you need them.


> print "Enter the server name:\n";
> $popServer = <STDIN>;
> 
> print "Enter your user name:\n";
> $popUser = <STDIN>;
> 
> print "Enter your password:\n";
> $popPass = <STDIN>;
> 
> chomp($popServer);
> chomp($popUser);
> chomp($popPass);



You could also write a little bit  shorter way with
print "Enter the server name:\n";
chomp( my $pop_server = <STDIN> );


...
...


> @message = undef;
> 
> $pop = Net::POP3->new($popServer);
> 
> $result = $pop->user($popUser);
> print "POP3 logon successful.\n" if $result == 1;


Or
$pop->user($popUser) or die "POP3 logon wasn't succesful";


> 
> $numMessages = $pop->pass($popPass);
> print "Number of messages: $numMessages.\n    \n";
> 
> if ($numMessages > 0){


It's also enough to ask for messages :-):
if ($num_messages) { ...


> 
>    for ($x=1;$x<=$numMessages;$x++){


foreach my $x (1 .. $num_messages) {


>       $result = $pop->get($x);
>       @message = @$result;


         my @msg_line = @{$pop->get($x)};


> 
>       print "\nInfo for message $x of $numMessages:\n";
> 
>       foreach $message (@message){
> 
>          print $message if $message =~ /subject:/i;
>          print $message if $message =~ /from:/i;
>       }


Or
print grep {/subject:/i || /from:/i} @message;


>       print "\n\n";
>    }
> }
> 
> 
> 
> $result = $pop->quit();
> print "POP3 logout successful.\n" if $result == 1;


$pop->quit or die "POP3 logout didn't succeed\n";


Cheerio,
Janek


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to