|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Bonsoir,
Dans mon script PERL je voudrais récupèrer et afficher certaines valeurs stocké dans une variable. La variable est retourné de cette façon : Code :
Je sèche complétement Merci pour le coup de pouce
|
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Qu'appelles-tu "quelques valeurs stocké dans une variable" ?
Tu veux analyser le fichier texte que tu as mis en exemple et récupérer une valeur à l'intersection d'une ligne et d'une colonne ? Si oui, pourrais-tu indiquer quel est le séparateur de colonne ?
__________________
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 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Bonsoir Philou67430,
Non en fait c'est le résultat d'une commande que je place dans une variable. Le sépateur est plusieurs espace (@res=split(/ +/,$command) |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
J'ai toujours du mal à comprendre. Tu as un début de script écrit ? quels sont les données d'entrée du script (paramètre d'appel) ?
__________________
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
|
|
|
#5 | ||
|
Membre du Club
![]() Développeur COBOL Inscription : octobre 2011 Messages : 56 ![]() |
j'imagine que si tu rajoutes ceci à ton code tu trouveras toi même la réponse à ta question :
Code :
|
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Je comprends encore moins ton message, magicshark
__________________
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
|
|
|
#7 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
@magicshark
Oula Comment récupérer les valeurs dans les variables car sur le parcours Dumper à créé 2467 variables ![]() Compliqué pour aller chercher la bonne valeur là. Code :
Citation:
|
|||
|
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Autant pour moi magicshark
En fait je n'avais pas le bon split (/ / au lieu de / +/) Donc maintenant j'ai 276 variables... Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Selon moi, tu dois analyser ligne à ligne ton résultat de la commande ssh, tout en renseignant un hash de hash comme un tableau à 2 dimensions dont la première clé est la première colonne (en oubliant les lignes de header) et la deuxième clé est la 1ere ligne de header, sauf la 1ere colonne).
Peut-être quelque chose comme : Code :
__________________
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
|
|
|
#10 |
|
Membre du Club
![]() Développeur COBOL Inscription : octobre 2011 Messages : 56 ![]() |
C'est quoi comme type de commande, la réponse est elle stocker dans une variable ou dans un tableau ?
j'ai l'impression je me trompe surement que ton résultat est directement spliter alors que s'il récupère plusieurs ligne tu peux peut être commencer par boucler dessus afin de mieux organiser ta réponse et pourquoi pas la mettre dans une hash pour pouvoir l'exploiter facilement edit : philou te propose la même chose mais avec le code |
|
|
00
|
|
|
#11 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Merci à vous deux !
Je débute avec Perl c'est pas encore facile pour moi ![]() Quand j'utilise use strict; j'ai l'erreur suivante : Code :
Code :
|
||||
|
|
00
|
|
|
#12 | ||
|
Membre expérimenté
![]() Inscription : novembre 2009 Messages : 357 ![]() |
Bonjour,
Quand on utilise le pragma 'use strict' il faut, entre autre, déclarer ses variables avec le mot-clé 'my' Code :
|
||
|
|
00
|
|
|
#13 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Bonjour,
Ok je déclare mes variables avec "my" mais j'obtiens d'autres erreurs : Code :
|
||
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Là, faut que tu fournisses le reste du code (j'ai testé le code que j'ai fourni avec l'exemple que tu as donné, sans constater d'erreur).
__________________
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
|
|
|
#15 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Je me base sur ton code Philou67430
Code :
Code :
$var{$key} = { pairwise { $a => $b } @col_names, @col_values }; Code :
say "Key id0/1, Valeur1-2: ", $var{"id0/1"}->{"Valeur1-2"}; |
||
|
|
00
|
|
|
#16 | ||||
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Modifie ceci :
Code :
Code :
__________________
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
|
|
|
#17 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Cela ne change pas
Même erreurs : Code :
|
||
|
|
00
|
|
|
#18 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Comme il n'est pas possible de savoir ce que retourne ta commande ssh, ajoute une ligne après le foreach pour afficher $line, que l'on puisse voir ce qui est retourné.
(ou mieux, stocke ce résultat dans un fichier et poste le).
__________________
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
|
|
|
#19 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 174 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 642 ![]() |
Transforme cette ligne
en Code :
while (defined(my $line = <$chan2>)) { Je pense que le pb arrive sur les lignes vides, qui sont peut-être mal traitées. Essaye de changer cette ligne Code :
$var{$key} = { pairwise { $a => $b } @col_names, @col_values }; Code :
$var{$key} = { pairwise { $a => $b } @col_names, @col_values } if defined $key;
__________________
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
|
Copyright © 2000-2013 - www.developpez.com