|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : octobre 2007 Messages : 165 ![]() |
Bonjour,
J'ai le script suivant qui utilise le CPAN Proc: Code :
Can't use string ("init [5] ") as an ARRAY ref while "strict refs" in use at ./Monitor_process.pl line 11. Je pense que cela vient que le mot clé EMPIRE est contenu dans un PATH avec des slash, j'ai donc essayé plusieurs façon du style avec /*EMPIRE*/ ou /^EMPIRE/ sans sucés. Je n'ai pas trouvé de doc adapté à mon cas. Merci de votre aide.... |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Ton erreur provient sans doute de l'usage de ce déréférencement @{$p->cmndline}. Tu tentes ainsi d'atteindre les éléments d'un tableau dont la référence serait retournée par $p->cmndline, or cette méthode semble retourner une chaine scalaire.
Peut-être devrais-tu écrire à la place : split /\s+/, $p->cmndline ou tout simplement remplacer le grep par : $p->cmndline =~ /EMPIRE/
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : octobre 2007 Messages : 165 ![]() |
Merci Philou,
En effet j'ai modifié la ligne 11 comme ceci : Code :
if (grep (/EMPIRE/, split /\s+/, $p->cmndline)) { J’obtiens le résultat que j'attend. C'est l'écriture de la fonction $p->cmndline qui me perturbait..... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Pour ne pas être perturbé, il est préférable de ne pas omettre les () lors de l'appel des méthodes :
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com