Perl et cgi: problème de split

Perl et cgi: problème de split - Perl - Programmation

Marsh Posté le 11-01-2009 à 13:01:34    

Bonjour!
 
Je souhaite effectuer une recherche sur un fichier html et renvoyer le résultat de la recherche sur une autre page. Pour cela, j'aimerais pouvoir effectuer cette recherche avec plusieurs mots clés, or je n'arrive pas à prendre en compte + d'un mot clé.
 
Normalement, si je comprend bien, il faut faire un split au niveau des "+" qui s'affichent dans la variable d'environnement, chose que je fais, mais ça ne marche pas, j'ai du oublier quelque chose... (je précise que je suis débutant ^^'):
 
Le code:
 
 
Je me suis dis que peut-être, il faudrait mettre plusieurs "recherche" dans l'expression régulière, et les séparer par "ET", mais ça ne marche pas.
J'avoues que je suis perdu  :pt1cable:  
 
Une piste?
 
 :hello:


Message édité par Indeed le 22-01-2009 à 21:35:13
Reply

Marsh Posté le 11-01-2009 à 13:01:34   

Reply

Marsh Posté le 11-01-2009 à 18:24:48    

Personne?  :jap:

Reply

Marsh Posté le 12-01-2009 à 07:50:33    

Le but du module CGI de perl est justement de ne pas tout réinventer et tout ré-écrire. Utilise les fonctions existantes de la lib et ce sera plus simple : http://search.cpan.org/~lds/CGI.pm-3.42/CGI.pm
 
par exemple pour récup une variable "recherche" envoyé par un formulaire, au niveau code c'est assez simple :

Code :
  1. #!/usr/bin/perl --
  2. use CGI;
  3. $q = new CGI;
  4. $param = $q->param('recherche');


 
et pour cracher les en-têtes html et autres, c'est pareil :

Code :
  1. print $q->header;
  2. print $q->start_html(
  3.     -title => 'Titre de la page'
  4. );
  5. tout mon blabla html ici
  6. };
  7. print $q->end_html;


Message édité par couak le 12-01-2009 à 07:50:55
Reply

Marsh Posté le 12-01-2009 à 12:30:28    

Merci, mais actuellement ma méthode me convient, elle marche, et pour le html ça me pose pas de problème j'y suis habitué, donc je préfère faire à ma "sauce". mon script marche, mais uniquement en tapant 1 mot-clé. Ce que je voudrais, c'est pouvoir effectuer la recherche avec plusieurs mot-clés. Mais ça ne marche pas. J'ai du oublier un truc, mais je suis largué, je ne vois vraiment pas ce qui cloche  :heink:


Message édité par Indeed le 12-01-2009 à 12:31:09
Reply

Marsh Posté le 12-01-2009 à 13:15:16    

En effectuant la commande suivante dans mon terminal: perl -w nomdemonscript.cgi
 
Il me sort 4 erreurs:
Use of uninitialized value $liste_parametres in split at nomdemonscript.cgi line 7.
Use of uninitialized value in split at nomdemonscript.cgi line 17.
Use of uninitialized value in regexp compilation at nomdemonscript.cgi line 42.
Use of uninitialized value in regexp compilation at nomdemonscript.cgi line 42.
 
Je ne comprend pas bien ce qui pose problème  :??:


Message édité par Indeed le 12-01-2009 à 13:16:11
Reply

Marsh Posté le 12-01-2009 à 18:10:25    

le switch "-w" est le mode qui t'affiche les "warning all"...... donc c'est tout à fait normal vu que tu ne déclares aucune de tes variables
pour le reste, vu que tu n'en fais qu'à ta tête, j'ai pas envie de m'y plonger :o flemme de lire du code comme ca, y'auras bien quelqu'un de plus sympa que moi pour t'aider :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed