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

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] patterns avec un object

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] patterns avec un object

n°696623
burgergold
5$? va chez l'diable!
Posté le 09-04-2004 à 15:53:37  profilanswer
 

Je tente de faire un match à partir d'une methode d'un objet
 
j'aimerais éviter à avoir à me déclarer une variable pour faire le matching, pour plutot utilisé un truc comme le 2e ou 3e morceau de code
 
fonctionne

Code :
  1. my $test = $httpd_conf->DocumentRoot;
  2. if ($file->name =~ m/^$test\/?/) {
  3.   print "true\n";
  4. }


 
fonctionne pas

Code :
  1. if ($file->name =~ m/^$httpd_conf->DocumentRoot\/?/) {
  2.   print "true\n";
  3. }


 
fonctionne pas

Code :
  1. if ($file->name =~ m/^${httpd_conf->DocumentRoot}\/?/) {
  2.   print "true\n";
  3. }


 
 

mood
Publicité
Posté le 09-04-2004 à 15:53:37  profilanswer
 

n°696782
pospos
Posté le 09-04-2004 à 17:50:07  profilanswer
 

tu peux utiliser (??{code}) :

Code :
  1. if ($file->name =~ m/^(??{$httpd_conf->DocumentRoot})\/?/) {
  2.       print "true\n";
  3.   }

n°696816
burgergold
5$? va chez l'diable!
Posté le 09-04-2004 à 18:45:26  profilanswer
 

c'est 2 fois ??
 
dans mon bouquin c'était écrit (?{...}) et ca fonctionnait pas
 
super, jvais essayer

n°696819
burgergold
5$? va chez l'diable!
Posté le 09-04-2004 à 18:51:59  profilanswer
 

pospos a écrit :

tu peux utiliser (??{code}) :

Code :
  1. if ($file->name =~ m/^(??{$httpd_conf->DocumentRoot})\/?/) {
  2.       print "true\n";
  3.   }




 
jviens d'essayer et ca ne fonctionne pas  :sweat:

n°696834
pospos
Posté le 09-04-2004 à 19:28:53  profilanswer
 

?{} ca execute sans interpoler, ??{} ca execute et ca interpole, mais ces deux fonctions sont assez contreversées...
 
Mais normalement ca doit marcher... t'es sur Perl 5.8 ?

n°696836
burgergold
5$? va chez l'diable!
Posté le 09-04-2004 à 19:38:03  profilanswer
 

pospos a écrit :

?{} ca execute sans interpoler, ??{} ca execute et ca interpole, mais ces deux fonctions sont assez contreversées...
 
Mais normalement ca doit marcher... t'es sur Perl 5.8 ?


 
5.8.3
 
dailleurs on vient de tenter 2 trucs
 

Code :
  1. if ($file->name =~ m/(??{$httpd_conf->DocumentRoot})/) {
  2.   print "true\n";
  3. }


 
perl crash, core dump
 

Code :
  1. if ($file->name =~ m/^(??{$httpd_conf->DocumentRoot})/) {
  2.   print "true\n";
  3. }


 
pas de crash

n°696838
burgergold
5$? va chez l'diable!
Posté le 09-04-2004 à 19:43:21  profilanswer
 

je viens meme de tester sous windows et ca ne fonctionne pas alors qu'en l'assignant à un variable $test, ca fonctionne
 

Code :
  1. use strict;
  2. use lib "E://projects/sdcbrm/projects/Common/dev/";
  3. use Apache::httpd::conf;
  4. my $httpd_conf = new Apache::httpd::conf("Z://httpd/httpd.conf" );
  5. my $test = $httpd_conf->DocumentRoot;
  6. if ("/web/htdocs" =~ m/^(??{$httpd_conf->DocumentRoot})\/?/) { 
  7.   print "true\n";
  8. }

n°696839
pospos
Posté le 09-04-2004 à 19:58:04  profilanswer
 

ouai c'est pas super comme fonction, je les utilise pas perso.
 
regarde perlre pour plus de details (et pourkoi ca plante parfois)
 
c'est clair que dans ton cas autant passer par une variable
 
PS: dans ton exemple tu as oublié de changer ta regexp

n°696843
burgergold
5$? va chez l'diable!
Posté le 09-04-2004 à 20:26:18  profilanswer
 

(??{ code })  
WARNING: This extended regular expression feature is considered highly experimental, and may be changed or deleted without notice. A simplified version of the syntax may be introduced for commonly used idioms.  
 
deja là ca me dit rien de bon


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

  [Perl] patterns avec un object

 

Sujets relatifs
[Perl] Fichier dans un dossier ou sous-dossier[Perl] Concaténer 2 arrays
[perl] un bon livre en perl ?[Perl] Timeout sur un STDIN
[Perl] Rappeler une sous chaine dans une expression rationelle[Perl] Comment décoder du UTF8 si pas de module sur le serveur ?
[Perl] regrouper des lignes différentes en une seule ttes les n lignes[Perl] Package Cvs 0.06
Probleme d'execution de la commande Unix echo via le perl[Résolu] Pb de cast à partir d'un Object
Plus de sujets relatifs à : [Perl] patterns avec un object


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