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

 


Dernière réponse
Sujet : [ perl ] executer un module dans un environemment protégé
sihal_again yes regexp rulez lol
j'ai encore du mal mais c vraix que c top pratique

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
sihal_again yes regexp rulez lol
j'ai encore du mal mais c vraix que c top pratique
Aricoh

sihal_again a écrit a écrit :

ben moi j'aime bien. je prefere php pour editer des pages web mais pour bidouiller des trucs sur serveur perl c royal. m'enfin question de gout  :jap:  



Je bosse avec des bases de données et je passe bcp de temps à scanner des chaines de caractères, pour ce cas de figure Perl est top moumoute

sihal_again ben moi j'aime bien. je prefere php pour editer des pages web mais pour bidouiller des trucs sur serveur perl c royal. m'enfin question de gout  :jap:
Aricoh

sihal_again a écrit a écrit :

lol c vraix :)
bon ben au cas ou on serais plus de 2 perlistes sur HW LOL  



j'ai des doutes, z'aiment po Perl ici :lol:

sihal_again lol c vraix :)
bon ben au cas ou on serais plus de 2 perlistes sur HW LOL
Aricoh

sihal_again a écrit a écrit :

bon j'ai deux solutions a ce problème
 soit :
use sigtrap qw(die  normal-signals error-signals)  
supposé "trapper" les erreurs mais j'ai pas testé,
sinon un truc qui marche:
eval {
  ...
  die "fatal error";
};
if ($@) {
  # $@ contient "fatal error"
}
valavala  



je sais, j'ai vu la réponse dans la mailing ;)

sihal_again bon j'ai deux solutions a ce problème
 soit :
use sigtrap qw(die  normal-signals error-signals)  
supposé "trapper" les erreurs mais j'ai pas testé,
sinon un truc qui marche:
eval {
  ...
  die "fatal error";
};
if ($@) {
  # $@ contient "fatal error"
}
valavala
sihal_again oki j'y vais de ce pas
Aricoh

sihal_again a écrit a écrit :

up personne ne sait? ya po de perlistes ici?  



ben si, moi :p
je crois que tu ferais bien de t'inscrire au mailing des Paris Perl's Mongueurs, tu aurais une réponse de mecs qui se la touchent super bien en Perl (sérieux) :
http://paris.mongueurs.net/
Si tu veux vraiment une réponse précise et rapide, inscrit-toi chez eux, y sont formidables

sihal_again up personne ne sait? ya po de perlistes ici?
sihal_again up
sihal_again ben tant pis. je vais chercher jusque mort s'ensuive
Aricoh

sihal_again a écrit a écrit :

deja , merci pour tes reponses mais.......
j'y avais deja pensé, mais je ne veux pas modifier le script du module, je veux le laisser en l'etat! donc il faut trouver un moyen de bypasser le die ... et je ne sais pas comment, et j'ai pas le temsp de lire les 700 pages du Camel.  



arf, alors là je sais pas, sorry

sihal_again deja , merci pour tes reponses mais.......
j'y avais deja pensé, mais je ne veux pas modifier le script du module, je veux le laisser en l'etat! donc il faut trouver un moyen de bypasser le die ... et je ne sais pas comment, et j'ai pas le temsp de lire les 700 pages du Camel.
Aricoh

sihal_again a écrit a écrit :

non en fait j'inclue un mudule: ( use Mon_module::truc; )
mais a l'interieur des scripts de ce module il ya un die, qui fait mourrir le script ayant inclut le module . ce qui me  :fou: . donc je me demande comment faire pour que si ce module ai un pb quelquonque il meure trankill dans son coin sans tuer aussi l'appelant  




Arf ok, j'avais tout faux !
 
ben mets en commentaire le die() du module et remplace-le par un warn()
 
ça t'affichera l'erreur constatée en tant qu'avertissement et ça ne tuera pas ton programme
 
maintenant, quand on met du die() quelque part, c'est que l'on veut sécuriser les traitements qui se déroulent après ... A faire en étant sûr de ton coup

Aricoh Tiens, petit exemple d'un programme retournant qq chose à un programme qui l'a exécuté :
 
script2.pl :
    $toto = 1;
    if ($toto / 1) {
      print "non nul";
    } else {
      print "nul";
    }
 
script principal :
    $retour;
 
    $retour = `script2.pl`;
 
    if ($retour =~ /^non nul$/) {
       print "ok";
    else {
       print "pas ok";
       die();
    }
 
C'était juste un exemple tout bête d'exécution d'un second script avec récupération (et dans une seule instruction) de ce qu'il retourne
sihal_again non en fait j'inclue un mudule: ( use Mon_module::truc; )
mais a l'interieur des scripts de ce module il ya un die, qui fait mourrir le script ayant inclut le module . ce qui me  :fou: . donc je me demande comment faire pour que si ce module ai un pb quelquonque il meure trankill dans son coin sans tuer aussi l'appelant
Aricoh

sihal_again a écrit a écrit :

Salut,
 
Est ce que vous sauriez comment executer un module perl de telle maniere que les eventuels "die" inclus dans ce module ne tuent pas mon script par la meme occasion?  




Tu veux exécuter un module perl ? c-a-d ???
 
Tu parles d'un script Perl lancé depuis le tien ?
 
Si tu veux que ton programme conserve la main, il faut de toutes façons lancer le second script via une commande system "mon autre script";
 
si tu fais exec "mon autre script"; ton programme lancant cette instruction perd la main et ne la retrouvera pas.
 
Maintenant, si tu as des die() dans le second programme et que tu passes par system, ça ne tuera pas ton programme principal. Maintenant, encore faut-il que ton prog puisse récupérer les erreurs du second ...
 
M'enfin, tu m'embrouille avec ton histoire de module :p

sihal_again Salut,
 
Est ce que vous sauriez comment executer un module perl de telle maniere que les eventuels "die" inclus dans ce module ne tuent pas mon script par la meme occasion?

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