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]