in reply to How to Fetch Gmail

From the doc:

### Print out all user defined labels my @labels = $gmail->get_labels(); foreach ( @labels ) { print "Label: '" . $_ . "'\n"; }

or, more extensively, for get-and-read scenario:

my $messages = $gmail->get_messages(); print "By folder\n"; foreach ( keys %Mail::Webmail::Gmail::FOLDERS ) { print "KEY: $_\n"; my $messages = $gmail->get_messages( label => $Mail::Webmail:: +Gmail::FOLDERS{ $_ } ); print "\t$_:\n"; if ( @{ $messages } ) { foreach ( @{ $messages } ) { print "\t\t$_->{ 'subject' }\n"; } } } print "By label\n"; foreach ( $gmail->get_labels() ) { $messages = $gmail->get_messages( label => $_ ); print "\t$_:\n"; if ( defined( $messages ) ) { if ( @{ $messages } ) { foreach ( @{ $messages } ) { print "\t\t$_->{ 'subject' }\n"; } } } }

Looks to me as though you didn't check the doc (perldoc Mail::Webmail::Gmail) -- an especially important trick in developing your knowledge of Perl.

Replies are listed 'Best First'.
Re^2: How to Fetch Gmail
by cjb (Friar) on Jan 18, 2011 at 13:13 UTC

    I'm not sure what the difference between your first example and the OPs is? I've run both, and get 0 labels back, which is the OPs problem. I'm also getting 0 back when I use get_messages()

    What result do you get?

      OP's code is print $label[0] (and no semicolon, tho that's no big deal here)

      As pointed out by lyklev below, $label[0] can be empty.

      Example code, from the doc, suggests foreaching the array.
        Having run both the OPs version and yours they both come back with 0.
        use warnings; use strict; use Mail::Webmail::Gmail; my $gmail = Mail::Webmail::Gmail->new( username => '', password => '', proxy_name => 'localho +st:3128' ); my @labels = $gmail->get_labels(); print "Number of labels returned: ".scalar (@labels)."\n"; foreach my $label (@labels) { print "Label: $label\n"; }

        From my test above, it would appear that Mail::Webmail::Gmail->new() completes without error even with a known bad password.

        2011-01-19 09:29 GMT - restored (in part) after discussion with ww