Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
723 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] POO et utilisation d'une method dans un print ou un shell exec

 

Sujet(s) à lire :
    - [Perl] patterns avec un object
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] POO et utilisation d'une method dans un print ou un shell exec

n°698293
burgergold
5$? va chez l'diable!
Posté le 13-04-2004 à 14:26:10  profilanswer
 

bon la semaine dernière j'étais venu pour un problème similaire.
 
J'ai une classe, qui a des méthodes
 

Code :
  1. #!/dfs/system/prod/aix/rs_aix433/bin/perl/current/bin/perl
  2. use strict;
  3. use lib "/dfs/projects/sdcbrm/projects/aparcheck/dev/";
  4. use aparcheck::apar;
  5. my $apar = new aparcheck::apar( "oslevel"       => "4.3.3",
  6.                                 "number"        => "IY49899",
  7.                                 "date_204"      => "",
  8.                                 "date_internet" => "",
  9.                                 "severity"      => "",
  10. );
  11. #my @result_all = `instfix -d /dfs/system/prod/aix/rs_aix433/apar -p -k $apar->number 2>&1`;
  12. print $apar->number . "\n";
  13. print "$apar->number" . "\n";


 
Le résultat est le suivant:
 

yaberge2@info1 ==> test.pl
IY49899
aparcheck::apar=HASH(0x2003b480)->number


 
mais voila, quand j'exécute mon instfix, je veux qu'il utilise ma méthode, mais celui-ci utilise aparcheck::apar=HASH(0x2003b480)->number et non sa valeur, comme ceci
 

instfix -d /dfs/system/prod/aix/rs_aix433/apar -p -k aparcheck::apar=HASH(0x2003b480)->number 2>&1


 
je cherche comment utiliser ma méthode directement mais la doc sur la POO se fait rare...
 

mood
Publicité
Posté le 13-04-2004 à 14:26:10  profilanswer
 

n°698325
pospos
Posté le 13-04-2004 à 14:57:33  profilanswer
 

Tu lance le truc avec un system() ?
Pourkoi tu fais pas ca:

Code :
  1. system("instfix -d /dfs/system/prod/aix/rs_aix433/apar -p -k ". $apar->number  ."2>&1" );

n°698330
burgergold
5$? va chez l'diable!
Posté le 13-04-2004 à 15:09:12  profilanswer
 

pospos a écrit :

Tu lance le truc avec un system() ?
Pourkoi tu fais pas ca:

Code :
  1. system("instfix -d /dfs/system/prod/aix/rs_aix433/apar -p -k ". $apar->number  ."2>&1" );




 
je le lance pas avec system parce que j'ai besoin de récupérer le résultat

n°698480
pospos
Posté le 13-04-2004 à 17:39:08  profilanswer
 

tu le lance avec koi? un `` ?
 
dans ce cas tu peux faire:

Code :
  1. my $cmd = "instfix -d /dfs/system/prod/aix/rs_aix433/apar -p -k " . $apar->number  . "2>&1";
  2. my @out = `$cmd`;

n°698500
burgergold
5$? va chez l'diable!
Posté le 13-04-2004 à 18:13:24  profilanswer
 

pospos a écrit :

tu le lance avec koi? un `` ?
 
dans ce cas tu peux faire:

Code :
  1. my $cmd = "instfix -d /dfs/system/prod/aix/rs_aix433/apar -p -k " . $apar->number  . "2>&1";
  2. my @out = `$cmd`;




 
c'est certain qu'ainsi ca fonctionne, mais ca me semble tjrs chiant de devoir faire ce genre de manipulation en 2 lignes lorsque ca devrait marcher avec une seule.
 
en attendant, j'utilise directement la référence de mon hash et non ma méthode
 
$apar->{number} au lieu de $apar->number
 
merci quand meme

n°698646
pospos
Posté le 13-04-2004 à 21:27:48  profilanswer
 

tu te prend la tete pour pas grand chose!
Le fait de pouvoir le faire en une ligne c'est bien seulement si c'est plus rapide à faire et/ou plus facile à lire et à maintenir.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] POO et utilisation d'une method dans un print ou un shell exec

 

Sujets relatifs
script shell pour concatener un ensemble de fichier.Comment faire un shell_exec avec un utilisateur donné ?
C-Shell sous linux : question bete :/ par un bete lol[Perl] patterns avec un object
Utilisation d'un ping[Perl] Fichier dans un dossier ou sous-dossier
[Perl] Concaténer 2 arraysShell tcsh, script pour tests... Pour les pros de tcsh
[perl] un bon livre en perl ? 
Plus de sujets relatifs à : [Perl] POO et utilisation d'une method dans un print ou un shell exec


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR