MIME::Parser - Bareword "FH" not allowed while "strict subs"
Le
Eric BERTHOMIER

Bonjour à tous,
je tente de mettre en place ce script extrait de l'article des mongueurs de=
Perl :
http://articles.mongueurs.net/magazines/linuxmag61.html
#!/usr/bin/perl -w
use strict;
use Net::POP3;
use Net::SMTP;
use MIME::Parser;
use MIME::Entity;
use MIME::Lite;
use POSIX 'strftime';
my $pop = Net::POP3->new('pop.monfai.com')
or die "ne peut me connecter au serveur POP pop.monfai.com";
my $get = pop->get(1, FH) if $pop->login('lettre_mensuelle', 'secret'=
) > 0;
die "le message n'est pas encore arrivé" unless $get;
$pop->delete(1) if $get;
$pop->quit();
my $parser = MIME::Parser->new();
my $entity = $parser->parse(*FH);
my($body,$image_encoded);
for($entity->parts()) {
my $corps = $_->body();
my $head = $_->head()->as_string;
$body = join '', @$corps if $head =~ /content-type: text/plain=
/is;
$image_encoded = join '', @$corps if $head =~ /content-type: im=
age//is;
}
Hélas je me retrouve bloqué avec le message d'erreur suivant :
Bareword "FH" not allowed while "strict subs" in use at bug.pl line 12.
J'ai donc tenté de passer avec un my $fh mais malgré plusieurs tentativ=
es, je n'ai hélas pas réussi à trouver une solution fonctionnelle.
Merci d'avance de votre aide
Eric
je tente de mettre en place ce script extrait de l'article des mongueurs de=
Perl :
http://articles.mongueurs.net/magazines/linuxmag61.html
#!/usr/bin/perl -w
use strict;
use Net::POP3;
use Net::SMTP;
use MIME::Parser;
use MIME::Entity;
use MIME::Lite;
use POSIX 'strftime';
my $pop = Net::POP3->new('pop.monfai.com')
or die "ne peut me connecter au serveur POP pop.monfai.com";
my $get = pop->get(1, FH) if $pop->login('lettre_mensuelle', 'secret'=
) > 0;
die "le message n'est pas encore arrivé" unless $get;
$pop->delete(1) if $get;
$pop->quit();
my $parser = MIME::Parser->new();
my $entity = $parser->parse(*FH);
my($body,$image_encoded);
for($entity->parts()) {
my $corps = $_->body();
my $head = $_->head()->as_string;
$body = join '', @$corps if $head =~ /content-type: text/plain=
/is;
$image_encoded = join '', @$corps if $head =~ /content-type: im=
age//is;
}
Hélas je me retrouve bloqué avec le message d'erreur suivant :
Bareword "FH" not allowed while "strict subs" in use at bug.pl line 12.
J'ai donc tenté de passer avec un my $fh mais malgré plusieurs tentativ=
es, je n'ai hélas pas réussi à trouver une solution fonctionnelle.
Merci d'avance de votre aide
Eric
use FileHandle;
my $fh = FileHandle->new;
Le mercredi 26 septembre 2012 10:49:51 UTC+2, Eric BERTHOMIER a écrit :
my $fh = new_tmpfile IO::File;
my $ref_courriel = $pop->get($msg, $fh);
my $parser = MIME::Parser->new();
my $entity = $parser->parse($fh);
Le mercredi 26 septembre 2012 16:37:56 UTC+2, Eric BERTHOMIER a écrit :