j'utilise le module Filesys::DfPortable pour récupérer les volumes
sur des disques. ça fonctionne plutôt bien sauf lorsqu'un serveur
n'est pas accessible.
je me retrouve avec un "Use of uninitialized value in division (/)
at...52"
...
51 : my $refInfos = dfportable($thisServer);
52 : my $freeSize = ($refInfos->{bfree})/1024/1024;
...
et je ne sais pas comment tester cette condition :(
undef() ne semble pas convenir.
une idée ?
--
klp
"bug : probleme d'interface entre la chaise et le clavier"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
kurtz_le_pirate
kurtz_le_pirate wrote:
bonjour,
j'utilise le module Filesys::DfPortable pour récupérer les volumes sur des disques. ça fonctionne plutôt bien sauf lorsqu'un serveur n'est pas accessible.
je me retrouve avec un "Use of uninitialized value in division (/) at...52" ... 51 : my $refInfos = dfportable($thisServer); 52 : my $freeSize = ($refInfos->{bfree})/1024/1024; ...
et je ne sais pas comment tester cette condition :( undef() ne semble pas convenir.
une idée ?
laissez tomber... j'ai trouvé. un tout simple <<if (!defined($refInfos))>>
:( c'est vendredi soir
-- klp "bug : probleme d'interface entre la chaise et le clavier"
kurtz_le_pirate wrote:
bonjour,
j'utilise le module Filesys::DfPortable pour récupérer les volumes
sur des disques. ça fonctionne plutôt bien sauf lorsqu'un serveur
n'est pas accessible.
je me retrouve avec un "Use of uninitialized value in division (/)
at...52"
...
51 : my $refInfos = dfportable($thisServer);
52 : my $freeSize = ($refInfos->{bfree})/1024/1024;
...
et je ne sais pas comment tester cette condition :(
undef() ne semble pas convenir.
une idée ?
laissez tomber... j'ai trouvé.
un tout simple <<if (!defined($refInfos))>>
:( c'est vendredi soir
--
klp
"bug : probleme d'interface entre la chaise et le clavier"
j'utilise le module Filesys::DfPortable pour récupérer les volumes sur des disques. ça fonctionne plutôt bien sauf lorsqu'un serveur n'est pas accessible.
je me retrouve avec un "Use of uninitialized value in division (/) at...52" ... 51 : my $refInfos = dfportable($thisServer); 52 : my $freeSize = ($refInfos->{bfree})/1024/1024; ...
et je ne sais pas comment tester cette condition :( undef() ne semble pas convenir.
une idée ?
laissez tomber... j'ai trouvé. un tout simple <<if (!defined($refInfos))>>
:( c'est vendredi soir
-- klp "bug : probleme d'interface entre la chaise et le clavier"
j'utilise le module Filesys::DfPortable pour récupérer les volumes sur des disques. ça fonctionne plutôt bien sauf lorsqu'un serveur n'est pas accessible.
je me retrouve avec un "Use of uninitialized value in division (/) at...52" ... 51 : my $refInfos = dfportable($thisServer); 52 : my $freeSize = ($refInfos->{bfree})/1024/1024; ...
et je ne sais pas comment tester cette condition :( undef() ne semble pas convenir.
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Par contre 'defined' me semble tout à fait convenir :
if (defined $refInfos and defined $refInfos->{bfree}) { my $freeSize = ($refInfos->{bfree})/1024/1024; } else { warn "Pb !n"; }
A priori (selon la doc), seul le premier test (sur $refInfos) est utile.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
j'utilise le module Filesys::DfPortable pour récupérer les volumes
sur des disques. ça fonctionne plutôt bien sauf lorsqu'un serveur
n'est pas accessible.
je me retrouve avec un "Use of uninitialized value in division (/)
at...52"
...
51 : my $refInfos = dfportable($thisServer);
52 : my $freeSize = ($refInfos->{bfree})/1024/1024;
...
et je ne sais pas comment tester cette condition :(
undef() ne semble pas convenir.
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Par contre 'defined' me semble tout à fait convenir :
if (defined $refInfos and defined $refInfos->{bfree}) {
my $freeSize = ($refInfos->{bfree})/1024/1024;
} else {
warn "Pb !n";
}
A priori (selon la doc), seul le premier test (sur $refInfos) est
utile.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
j'utilise le module Filesys::DfPortable pour récupérer les volumes sur des disques. ça fonctionne plutôt bien sauf lorsqu'un serveur n'est pas accessible.
je me retrouve avec un "Use of uninitialized value in division (/) at...52" ... 51 : my $refInfos = dfportable($thisServer); 52 : my $freeSize = ($refInfos->{bfree})/1024/1024; ...
et je ne sais pas comment tester cette condition :( undef() ne semble pas convenir.
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Par contre 'defined' me semble tout à fait convenir :
if (defined $refInfos and defined $refInfos->{bfree}) { my $freeSize = ($refInfos->{bfree})/1024/1024; } else { warn "Pb !n"; }
A priori (selon la doc), seul le premier test (sur $refInfos) est utile.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
espie
In article , Paul Gaborit <Paul.Gaborit+ wrote:
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Aparte: d'ailleurs, c'est bizarre, ca serait bien dans l'esprit du
langage que ca marche quand meme.
In article <wt9sky1ade3.fsf@marceau.enstimac.fr>,
Paul Gaborit <Paul.Gaborit+news@enstimac.fr> wrote:
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Aparte: d'ailleurs, c'est bizarre, ca serait bien dans l'esprit du
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Aparte: d'ailleurs, c'est bizarre, ca serait bien dans l'esprit du
langage que ca marche quand meme.
Disons que ça marche :
my $t; print "not definedn" if $t eq undef; print "not definedn" if $t == undef; $t = 1; print "definedn" if not $t eq undef; print "definedn" if not $t == undef;
Mais Perl n'est quand même pas content et crie (avec raison) si on utilise 'use warnings' ou l'option '-w'.
Il vaut donc mieux utiliser 'defined'...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
In article <wt9sky1ade3.fsf@marceau.enstimac.fr>,
Paul Gaborit <Paul.Gaborit+news@enstimac.fr> wrote:
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Aparte: d'ailleurs, c'est bizarre, ca serait bien dans l'esprit du
langage que ca marche quand meme.
Disons que ça marche :
my $t;
print "not definedn" if $t eq undef;
print "not definedn" if $t == undef;
$t = 1;
print "definedn" if not $t eq undef;
print "definedn" if not $t == undef;
Mais Perl n'est quand même pas content et crie (avec raison) si on
utilise 'use warnings' ou l'option '-w'.
Il vaut donc mieux utiliser 'defined'...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
undef ne peut pas convenir puisque ce n'est pas une condition ! ;-)
Aparte: d'ailleurs, c'est bizarre, ca serait bien dans l'esprit du
langage que ca marche quand meme.
Disons que ça marche :
my $t; print "not definedn" if $t eq undef; print "not definedn" if $t == undef; $t = 1; print "definedn" if not $t eq undef; print "definedn" if not $t == undef;
Mais Perl n'est quand même pas content et crie (avec raison) si on utilise 'use warnings' ou l'option '-w'.
Il vaut donc mieux utiliser 'defined'...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>