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

  FORUM HardWare.fr
  Programmation
  Perl

  comment faire un include en perl?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment faire un include en perl?

n°833062
jeanjak hy​pocondriak
maintenant ou jamais!
Posté le 26-08-2004 à 17:02:35  profilanswer
 

bonjour,
je dois faire un truc (de stagiaire!) vite fait en perl mais sans suite...
je voudrais faire un include d'un fichier : je definis des fonctions dans un fichier et les appelle dans un autre...
je trouve pas comment faire pour appeller...
 
si vous pouvez m'aider,
merci,
jjh

mood
Publicité
Posté le 26-08-2004 à 17:02:35  profilanswer
 

n°833067
Mr Mala
Posté le 26-08-2004 à 17:07:17  profilanswer
 

require <fichier.pl>;
 
De rien.

n°833082
jeanjak hy​pocondriak
maintenant ou jamais!
Posté le 26-08-2004 à 17:20:47  profilanswer
 

apparemment avec des <> il me fait une erreur, j'ai essayer avec des '', il me plante plus pour ca mais l'appel de la fonction foire...c'est bien :  
$nom_fonction();
?
encore merci,
jjh
 
PS:dzl pour les questions de debutants mais je fais pas de perl habituellement (et j'en referai pas d'ici pas mal de temps!)et j'ai pas le temps de m'y mettre.

n°833093
Mr Mala
Posté le 26-08-2004 à 17:34:32  profilanswer
 

jeanjak hypocondriak a écrit :

apparemment avec des <> il me fait une erreur, j'ai essayer avec des '', il me plante plus pour ca mais l'appel de la fonction foire...c'est bien :  
$nom_fonction();
?
encore merci,
jjh
 
PS:dzl pour les questions de debutants mais je fais pas de perl habituellement (et j'en referai pas d'ici pas mal de temps!)et j'ai pas le temps de m'y mettre.


 
heuuu le <fichier.pl> , ça voulait dire "à la place de <fichier.pl>, tu mets ton nom de fichier" ! :p .. avec ou sans "" ... mais pas oublier le ; à la fin.
 
$nom_fonction(); => NAN! faux ... juste nom_fonction();


Message édité par Mr Mala le 26-08-2004 à 17:41:46
n°833100
jeanjak hy​pocondriak
maintenant ou jamais!
Posté le 26-08-2004 à 17:46:09  profilanswer
 

hou! je te remercie j'galerais depuis tout a l'heure pour trouver des trucs sue le net...ou alors chui pas doué?!...
ca marche maintenant!
merci beaucoup!
jjh.

n°1334503
xeonaussi
Posté le 29-03-2006 à 12:07:33  profilanswer
 

Bonjour,
 
J'ai un freeware de recherche. Je voudrais y mettre un require pour un fichier html :  
Mais cela ne marche pas.
 
Si je lance la recherche : http://www.tout-pour-le-bien-etre. [...] herche.php
 
Il y a le message :
 
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.
 
More information about this error may be available in the server error log Web Server at tout-pour-le-bien-etre.com  
 
Le require est situé Ligne 404 de ce script, dans la partie affichage de résultats
 
Merci si vous pouvez me dire ce qui se passe, car je ne connais pas Perl
 
 
 
 
#!/usr/bin/perl
# Ce script nécessite perl 5.
# En cas d'erreur (et pour serveur Linux souvent),
# réessayez en changeant la première ligne en: #!/usr/bin/perl
 
print ("Content-type: text/htmlnn" );
 
# farfouineur.pl : script de recherche de document. (MOTEUR DE RECHERCHE INTERNE) #
# Dans votre répertoire cgi-bin, téléchargez ce script en mode ASCII, chmod 755.  #
# Téléchargez aussi, la page farfouineur.html permettant de lancer une recherche, #
# dans un répertoire où vous mettez vos pages HTML normales.                      #
 
# v2.02 01/10/1999
$version='2.02';
###################################################################################
# Ceci est un script CGI en Perl freeware, réalisé par Sébastien Joncheray.       #
# Vous pouvez l'utiliser gratuitement, à la condition de ne                       #
# pas changer son contenu, notamment, les parties faisant mentions de l'auteur.   #
# De nombreux autres scripts perl en francais, sont disponibles gratuitement à    #
# http://www.perl-gratuit.com                                                     #
# E-mail pour toute question, remarque : info@perl-gratuit.com                    #
# Contactez-moi pour tout tout autre script personnalisé                          #
# permettant une réelle interaction avec l'internaute.                            #
###################################################################################
# Tous droits de modification/distribution/vente réservés                         #
# Merci de me contacter dans ces cas là :-)                                       #
###################################################################################
 
##############################################################################
## Méthode de scoring de chaque page html :                                  #
## 1 point à chaque fois qu'un mot-clé est trouvé dans la page html          #
## 4 point en +, pour chaque mot-clé trouvé dans le titre de la page html    #
## 3 point en +, pour chaque mot-clé trouvé dans la description de la page   #
## 2 point en +, pour chaque mot-clé trouvé dans les META KEYWORD de la page #
##############################################################################
 
##################################################################################
# Configuration des Variables        #
##################################################################################
# POUR DESACTIVER UNE LIGNE METTEZ UN DIESE (#) DEVANT, et vice-versa            #
##################################################################################
# Les détections automatiques ci-dessous fonctionnent bien sur serveur Apache,   #
# et tous les autres aussi en principe, à moins que la configuration du serveur  #
# ou du site soit spéciale (souci probable en cas de sous-hébergement par exemple#
# c'est à dire si votre site n'est pas accessible directement par le seul nom de #
# domaine : votre site=http://www.votre-domaine.com : OK                         #
#           votre site=http://www.hebergeur.com/votresite/ : Pas OK...  )        #
##################################################################################
 
 
# URL complète de ce script : #################################################
#  - Soit vous laissez faire la détection automatique :                       #
     $cgiurl='http://'.$ENV{'SERVER_NAME'}.$ENV{'SCRIPT_NAME'};                
#  - Soit vous enlevez le dièse (#) ci-dessous et modifiez la ligne:          #
#    $cgiurl='http://www.votre-site.com/cgi-bin/farfouineur.pl';              #
###############################################################################
# Indiquez ci-dessous le répertoire de base des pages html de votre site ######    
# AVEC slash '/' final                                                   ######
#  - Soit vous laissez faire la détection automatique :                       #
     $basedir=$ENV{'DOCUMENT_ROOT'};
#  - Soit vous enlevez le dièse ci-dessous et modifier le chemin en relatif,  #
#    par rapport à l'emplacement de ce script :                               #
#    $basedir = '../../';                                                     #
#  - Soit Idem en absolu :                                                    #
# $basedir = '/home/user/httpdocs/';                                       #
#                                                                             #
# Laissez la ligne ci-dessous qui vérifie que $basedir finit bien par un / :  #
if ($basedir!~ //$/) {$basedir.='/';}
###############################################################################
# Indiquez ci-dessous votre homepage AVEC un / final ##########################
#  - Soit vous laissez faire la détection automatique :                       #
   $baseurl='http://'.$ENV{'SERVER_NAME'};
#  - Soit vous enlevez le # de la ligne ci-dessous, et la modifiant.          #
#    $baseurl = 'http://www.perl-gratuit.com/';                               #
 
# Laissez la ligne ci-dessous qui vérifie que $baseurl finit bien par un / :#
if ($baseurl!~ //$/) {$baseurl.='/';}
###############################################################################
# Indiquez ci-dessous, les extensions de fichier dans lesquel le script peut  #
# faire la recherche                                                          #
  @file_types=('.html','.htm','.shtml');
###############################################################################
# Indiquez ci-dessous la liste complète des répertoires et sous-répertoire    #
# dans laquelle le script peut faire la recherche.                            #
# Mettez les noms de répertoires par rapport au répertoire de base de vos     #
# pages html ($basedir).                                                      #
# Les noms de répertoire ne doivent pas commencer par un slash /,mais doivent #
# finir par un slash /.                                                       #
# Ne mettez pas de noms de répertoires qui n'existent pas !                   #
 
@dirs=(
       '',
              );
  # Attention, pas de virgule avant la dernière parenthèse ci-dessus !       #
                                                                             #
# Done  FIN DE LA CONFIGURATION !!                                           #
##############################################################################
 
 
 
 
 
 
 
# Récupération des données
if (!$ENV{'QUERY_STRING'}) {   # Aucun paramètre. Afficher le formulaire seulement
  &header;     # Affiche haut de page
  &formulaire;     # Affiche formulaire
  &footer;     # Affiche bas de page
  exit;      # Quitter !
}
%form=&receiveget;    # Récupération des données du formulaire
 
if ($form{'command'} eq 'aide') {  # Afficher l'Aide
  &aide;     # Affiche l'Aide
  exit;      # Quitter !
}
$form{'terms'}=~ s/+//g;   # élimine les +
$form{'terms'}=~ s/://g;   # élimine les :
$form{'terms'}=~ s/"//g;   # élimine les "
 
@keyword= split(/s+/, $form{'terms'});  # Tableau des mots-clés tapés par le visiteur (séparation espace)
$nb_keyword=@keyword;    # Nombre de mots de recherche
%result=();     # Tableau des résultats
%score=();     # Score de chaque fichier
%title=();     # Table de hachage des titres des fichiers
%description=();    # Table de hachage des description des fichiers
%date=();     # Table de hachage des date/heure de dernière modification des fichiers
%metakeyword=();    # Table de hachage des meta keywords des fichiers
%size=();     # Table de hachage des tailles des fichiers
 
# Chercher la liste des fichiers à explorer
@files=();     # Tableau liste des fichiers.
&files_list;      # Rempli @files de la listes des fichiers à explorer.
 
# Farfouiner dans les fichiers
&search_and_save;
 
# On élimine les fichiers ne comportant pas ce que l'on cherche
&eliminer;
 
$nb_fichier=@files;
 
# Mettre un Score à chaque fichier
&score;
 
# Tri par score décroissant
&trier;
 
$max_score=$score{$files[0]};   # Le score maxi est celui du premier fichier après tri
 
 
# Page de résultats
$fini=0;     # va se mettre à 1 si tous les résultats ont été affichés
&header;
&formulaire;
&affiche_resultat;
 
&liens_suite;
&footer;
1;
 
################################################
sub receiveget {
  local(%postdata)=();
  if ($ENV{'REQUEST_METHOD'} eq 'GET') {
    local ($data)='';                          # Chaine envoyée
    $data=$ENV{'QUERY_STRING'};
    foreach $d (split('&',$data)) {            # séparation de la chaine par paires
      local ($nom,$valeur)=split('=',$d);      # paires séparées
      $nom=&url_decode($nom);
      $valeur=&url_decode($valeur);
     $postdata{$nom}=$valeur;                  # paires rangées dans data
      }
    } else {
      print ("Content-type: text/htmlnn<H1>webmaster says : GET Error in CGI method <BR>GO BACK and TRY again</H1>Vous ne pouvez accéder ici par ce moyen." );
      die ("webmaster says : GET Error in CGI method" ) ;  
    }
  return %postdata ;
}
################################################
sub url_decode {
  local ($s)=@_;
  $s=~ tr/+/ /;
  $s=~ s/%([0-9A-F][0-9A-F])/pack("C",oct("0x$1" ))/ge;
  $s;
}
################################################
sub files_list {
local ($file)='';
local ($type)='';
local ($flag)=0;
 
  foreach $dir (@dirs) { # on ouvre chaque répertoire indiqué dans @dirs
    $dir=~ s/^///;  # enlève le / éventuel de début de répertoire
    opendir (MYDIR,"$basedir$dir" ) || (print "impossible de lire dans le répertoire $basedir$dir :$!" and exit);  
    while ($newfile=readdir(MYDIR)) { # pour chaque fichier du répertoire
      if ((!(-d "$basedir$dir$newfile" )) && (-T "$basedir$dir$newfile" )) { ## on s'assure que ce n'est pas un répertoire, et que c'est un fichier texte
        $flag=0;
        foreach $type (@file_types) {
          if ($newfile=~ /$type$/) {
             $flag=1;    # c'est un fichier avec une extension valide
          }
        }
        if ($flag) {
          push (@files,"$dir$newfile" );
        }
      }
    }
    closedir (MYDIR);
   }
}
################################################
################################################
sub search_and_save {
local ($fichier,$mot)=('','');
local ($contenu)='';
local (@lignes)=();
local ($nb,$i,$pp)=(0,0,0);
 
  foreach $fichier (@files) {
    open(FILE,"$basedir$fichier" ) || (print "Impossible ouvrir en lecture $basedir$fichier : $!" and exit);
    @lignes = <FILE>;
    close(FILE);
 
    $contenu = join(' ',@lignes);  # Les lignes sont mises bout à bout, séparées par un espace
    @lignes=();     # On libère de l'espace mémoire.
 
    $size{$fichier}=int((length($contenu)+500)/1000); # taille en octets du fichier, arrondie au plus près.
 
    $contenu =~ s/n//g;   # On enlève les retours à la ligne.
    $contenu =~ s/r//g;   # Au cas où ...
    $contenu =~ s/&eacute;/é/g;  # Remplace les &eacute de la page html en é
    $contenu =~ s/&egrave;/è/g;  # Remplace les &egrave de la page html en è
    $contenu =~ s/&agrave;/à/g;  # Remplace les &agrave de la page html en à
    $contenu =~ s/&ecirc;/ê/g;  # Remplace les &ecirc de la page html en ê
    $contenu =~ s/&ccedil;/ç/g;  # Remplace les &ccedil de la page html en ç
    # on pourrait ajouter d'autres conversions des codes html (ô,ù, ...), mais cela alourdit le temps de traitement,
    # on se contente donc des plus courants.
 
 
 
 
 
    ##### CHERCHER LE TITRE ####
    if (($contenu=~ /<title>([^<]*)</title>/i) && (length($1)>0)) {
      $titre{$fichier}=$1;
    }else {
      $titre{$fichier}='? nbsp; ? &nbsp; ?'; # Titre de la page inconnu
    }
    ##### CHERCHER LA DESCRIPTION ####
    if (($contenu=~ /<meta[^>]*name="description"[^>]*content="([^"]*)">/i) && (length($1)>0)) {
      $description{$fichier}=$1;
    }else {
      $description{$fichier}='';  # Pas de description
    }
    ##### CHERCHER LES META KEYWORD ####
    if (($contenu=~ /<meta[^>]*name="keyword[^"]*"[^>]*content="([^"]*)">/i) && (length($1)>0)) {
      $metakeyword{$fichier}=$1;
    }else {
      $metakeyword{$fichier}='';  # Pas de META KEYWORD
    }
    ##### CHERCHER LA DATE DE DERNIERE MODIFICATION ####
    $pp=-M "$basedir$fichier";   # Retourne le nb de jours depuis la dernière modif
    $pp=localtime(time()-$pp*86400);  # Transforme en date normale.
    $date{$fichier}=$pp;
 
    for ($i=0;$i<=$nb_keyword-1;$i++) {  # Pour chaque mot de recherche
      $contenu2=$contenu;   # On travaille sur une variable qui va avoir son contenu rogné
      $nb=0;     # On reset le nb d'occurences
 
      if ($form{'case'} eq 'Insensitive') {  # Si peu importe les majuscules/minuscules.
        while ($contenu2=~ s/$keyword[$i]/ /i) { # Chaque fois que l'on trouve le mot on le supprime, pour ne pas le compter 2 fois.
          $nb++;  
        }
      }else {
        while ($contenu2=~ s/$keyword[$i]/ /) {  # Idem, en tenant comptedes majuscules/minuscules
          $nb++;  
        }
      }
      $result{"$fichier.$i"}=$nb;   # On range le résultat dans la variable %result()
    }
  }
}
################################################
################################################
sub eliminer {
local ($i)=0;
local ($fichier)='';
local (@files2)=();
local ($flag)=0;
 
  # D'abord on élimine les noms de fichiers qui n'ont pas de mots-clé recherchés
 
  foreach $fichier (@files) {   # Pour chaque fichier.
    if ($form{'boolean'} eq 'OR') {  # Il suffit qu'on trouve 1 fois le mot-clé pour qu'on garde le fichier
      $flag=0;
      for ($i=0;$i<=$nb_keyword-1;$i++) { # On prend chaque mot
        if ($result{"$fichier.$i"}) { $flag=1;} # si 1 au moins est trouvé dans le fichier, c'est bon
      }
    }
    if ($form{'boolean'} eq 'AND') {  # Il faut trouver chaque mot-clé au moins une fois pour qu'on garde le fichier
      $flag=1;
      for ($i=0;$i<=$nb_keyword-1;$i++) { # On prend chaque mot
        if ($result{"$fichier.$i"}==0) { $flag*=0;}# si 1 au moins n'est pas trouvé dans le fichier, c'est pas bon
      }
    }
    if ($flag) { push(@files2,$fichier);} # hop, on sélectionne le fichier !
    #print "fichier $fichier, mot $keyword[$i], on garde ? :<b>$flag</b><br>";
  }
  @files=@files2;
}
################################################
sub score {
local ($fichier)='';
local ($i)=0;
local ($buffer)='';
 
  foreach $fichier (@files) {   # Pour chaque fichier.
    for ($i=0;$i<=$nb_keyword-1;$i++) { # On prend chaque mot
      # On affecte un point par mot-clé trouvé dans le fichier.
      $score{$fichier}+=$result{"$fichier.$i"};
 
      # On affecte 4 points en plus par mot-clé trouvé dans le titre de la page.
      $buffer=$titre{$fichier};
      if ($form{'case'} eq 'Insensitive') {   # Si peu importe les majuscules/minuscules.
        while ($buffer=~ s/$keyword[$i]/ /i) {  # Chaque fois que l'on trouve le mot on le supprime, pour ne pas le compter 2 fois.
          $score{$fichier}+=4;     # 4 points de plus
          #print "<b> 4 pts en plus !</b><br>n";
        }
      }else {
        while ($buffer=~ s/$keyword[$i]/ /) {  # Idem, en tenant comptedes majuscules/minuscules
          $score{$fichier}+=4;     # 4 points de plus
          #print "<b> 4 pts en plus !</b><br>n";
        }
      }
 
      # On affecte 3 points en plus par mot-clé trouvé dans la description de la page.
      $buffer=$description{$fichier};
      if ($form{'case'} eq 'Insensitive') {   # Si peu importe les majuscules/minuscules.
        while ($buffer=~ s/$keyword[$i]/ /i) {  # Chaque fois que l'on trouve le mot on le supprime, pour ne pas le compter 2 fois.
          $score{$fichier}+=3;     # 3 points de plus
          #print "<b> 3 pts en plus !</b><br>n";
        }
      }else {
        while ($buffer=~ s/$keyword[$i]/ /) {  # Idem, en tenant comptedes majuscules/minuscules
          $score{$fichier}+=3;     # 3 points de plus
          #print "<b> 3 pts en plus !</b><br>n";
        }
      }
 
      # On affecte 2 points en plus par mot-clé trouvé dans le META KEYWORDS de la page.
      $buffer=$metakeyword{$fichier};
      if ($form{'case'} eq 'Insensitive') {   # Si peu importe les majuscules/minuscules.
        while ($buffer=~ s/$keyword[$i]/ /i) {  # Chaque fois que l'on trouve le mot on le supprime, pour ne pas le compter 2 fois.
          $score{$fichier}+=2;     # 2 points de plus
          #print "<b> 2 pts en plus !</b><br>n";
        }
      }else {
        while ($buffer=~ s/$keyword[$i]/ /) {  # Idem, en tenant comptedes majuscules/minuscules
          $score{$fichier}+=2;     # 2 points de plus
          #print "<b> 2 pts en plus !</b><br>n";
        }
      }
       
    }
 
    #print ("Fichier $fichier, SCORE : $score{$fichier} <br>n" );
  }
 
}
################################################
sub trier {
local ($i,$j);
local ($buffer);
 
  # Algorythme de tri ultra classique, cas d'école :-). Nul besoin de l'optimiser en vitesse ici.
  for ($i=0;$i<=$nb_fichier-2;$i++) {
    for ($j=$i+1;$j<=$nb_fichier-1;$j++) {
     if ( $score{$files[$i]} < $score{$files[$j]} ) { # il faut inverser l'ordre
       $buffer=$files[$i];
       $files[$i]=$files[$j];
       $files[$j]=$buffer;
     }
    }
  }
 
  #for ($i=0;$i<=$nb_fichier-1;$i++) {
  #  print ("$i : Fichier $files[$i], SCORE : $score{$files[$i]} <br>n" );
  #}
}
 
################################################
sub header {
}
################################################
sub affiche_resultat {
local ($i)=0;
local ($fichier);
local ($res)=0;
 
  print <<;
    &nbsp; <br>;
require <http://www.tout-pour-le-bien-etre.com/temp.html>;  
 
   print ("<blockquote>" );
  print ("<font size="2" face="Arial">n" );
  for ($i=$form{'lastnb'}+1;$i<=$form{'lastnb'}+$form{'result_par_page'};$i++) {
    ## boucle principale d'affichage des résultat
    if ($files[$i-1]) {
      # on ne génère un affichage que si il y encore à afficher
      $fichier=$files[$i-1];
      print ("<br><a href="$baseurl$fichier">".$titre{$fichier}."</A>n" );
    } else {    # plus rien à afficher
      if ($res==0) {$res=$i;}
      $fini=1;
    } # end if
 
  }  # end for
  print ("</font>n" );
  print ("</blockquote>" );
 
  return $res;
}
################################################
################################################
sub formulaire {
 
 
 
}
################################################
sub liens_suite {
local ($lastnb)=$form{'lastnb'}+$form{'result_par_page'};
local ($i,$nb_page)=(0,0);
local ($buffer,$texte,$rec,$suite)=('','','','');
 
  ## nb total de pages de réponses ##
  $nb_page=($nb_fichier/$form{'result_par_page'});
  if (int($nb_page)!=$nb_page) {
    $nb_page=int($nb_page)+1;
  }
 
  print ("<blockquote><FONT size="2" face="Arial"><b>Pages de résultats : </b>" );
 
  $nb_actuel=$lastnb/$form{'result_par_page'};  # no de page actuel
  #print "$nb_actuel <br>n";
 
  ## Affichage page précédente
 
  for ($i=1;$i<=$nb_page;$i++) {   # un lien pour chaque page
    $buffer=$ENV{QUERY_STRING};
    if ($form{'lastnb'}) {    # on est pas à la page 1
      $dummy=$form{'result_par_page'}*($i-1);
      $buffer=~ s/&lastnb=$form{'lastnb'}/&lastnb=$dummy/;
    }else {
      $buffer.='&lastnb='.($form{'result_par_page'}*($i-1));
    }
    if ($nb_actuel>1 and $i==$nb_actuel-1) { $prec="<a href="$cgiurl?$buffer"><b>[&lt;&lt;Précédent]</b></a>";}
    if ($nb_actuel!=$nb_page and $i==$nb_actuel+1) { $suite="<a href="$cgiurl?$buffer"><b>[Suivant&gt;&gt;]</b></a>";}
    if ($nb_actuel==$i) {
      $texte.="<b>$i</b> &nbsp; ";   # pas de lien, pour la page actuelle
    }else {
      $texte.="<a href="$cgiurl?$buffer">$i</a> &nbsp; ";
    }
  }
  print ("$prec &nbsp;$texte &nbsp;$suite </font></blockquote>" );
}      
################################################
sub footer {
 
}
################################################
sub aide {
 
  print <<;
<html>
<head><title>LE FARFOUINEUR V$version - perl-gratuit.com</title></head>
<body bgcolor="#ffffff" text="#000000" link="#000099" vlink="#663366" alink="#ff0000">
<p align="center"><font size="6"><strong>LE FARFOUINEUR V$version<br>
</strong></font>-- Moteur de recherche de pages web, interne à un site --</p>
<p align="center"><font face="Arial" size="5" color="#000080"><strong><u>Aide - Trucs et
astuces</u></strong></font></p>
<hr width="80%" noshade>
<blockquote>
  <ul>
    <li><strong><font color="#004080">Aide&nbsp; à l'utilisation :<br>
      </font></strong>Dans la case de texte, tapez du texte ou des mots, séparés par des
      espaces. Le Farfouineur vous renverra une liste de pages web, contenant les mots que vous
      recherchez.</li>
    <li><strong><font color="#004080">Classement et score des pages web.<br>
      </font></strong>La liste des pages web vous sont renvoyés par ordre décroissant de
      pertinence. Les premières pages sont donc celles qui semblent correspondre le mieux à
      votre recherche. Le score de chaque page est indiqué, sous sa description.<br>
      Le score est calculé de la façon suivante, pour chaque page : 1 point à chaque fois
      qu'un mot de recherche est rencontré dans la page, +4 points pour chaque mot présent
      dans le titre (title) de la page, +3 points pour chaque mot présent dans la description
      (meta name=&quot;description&quot;), +2 points pour chaque mot rencontré dans les
      keywords (meta name=&quot;keyword&quot; ou &quot;keywords&quot; ).<br>
      Puis les pages sont triés et affichées par ordre décroissant du score.</li>
    <li><strong><font color="#004080">Majuscules/minusules :<br>
      </font></strong>Si vous sélectionnez &quot;Peu importe&quot;, alors une recherche avec
      &quot;<strong>maison</strong>&quot;, donnera le même résultat qu'avec &quot;<strong>Maison</strong>&quot;.<br>
      Si vous sélectionnez &quot;Respecter&quot;, les résultats seront différents. Cela peut
      être utile si vous recherchez une page faisant mention de Monsieur Maison, et non pas
      d'une maison </li>
    <li><strong><font color="#004080">Rechercher &quot;Tout les mots&quot; :</font></strong> Le
      Farfouineur n'affichera que les pages web contenant au moins une fois chacun des mots
      contenus dans le texte de recherche.<br>
      <strong><font color="#004080">Rechercher &quot;Au moins un des mots&quot; :</font></strong>
      Les résultats sont plus larges ... Au moins, vous avez plus de chances d'obtenir des URLs
      .</li>
  </ul>
  <p align="center"><strong><u><font color="#0000A0" size="4">Trucs et astuces.</font></u></strong></p>
  <ul>
    <li>C'est bien un espace qu'il vous faut mettre entre chaque mots.<br>
    </li>
    <li>Ne mettez pas de mots inutiles du style <strong>de</strong> , <strong>à</strong> etc.
      (mettez <strong>vente maisons luxe Paris</strong>, plutôt que <strong>vente de maisons de
      luxe à Paris</strong>, les résultats seront meilleurs.)</li>
  </ul>
  <p>Vous allez être déçu, le Farfouineur ne prend pas en compte les <strong>+
  &nbsp; :</strong> , comme le font d'autres moteurs de recherche comme notre ami
  AltaVista. Si néanmoins vous mettez de tels caractères dans la case de texte de
  recherche, le Farfouineur les ignore royalement, cela ne le dérange point, et ne génère
  pas d'erreur. <br>
  </p>
</blockquote>
  <hr width="80%" noshade>
  <p align="center"><strong><font size="2">Script CGI Perl réalisé par Sébastien Joncheray,
  <a href="http://www.perl-gratuit.com">http://www.perl-gratuit.com</a>.</font></strong>
  </p>
  <center>
  <hr width="80%" noshade>
  <font face="Arial" size="2">
  <a href="$baseurl">Homepage.</a> | <a href="$cgiurl?command=aide">Aide</a> | <a href="$cgiurl">Retour formulaire de recherche</a> <br>
  </font>
  &nbsp; <br> &nbsp; <br>
  </center>
</body>
</html>
 
 
}
################################################
################################################
 


---------------
Xeon
n°1339426
xeonaussi
Posté le 05-04-2006 à 09:44:41  profilanswer
 

RE bonjour,
 
La ligne de code avec le require est située dans la fonction d'affichage :
 
 
 
 
sub affiche_resultat {  
local ($i)=0;  
local ($fichier);  
local ($res)=0;  
 
  print <<;  
    &nbsp; <br>;  
require <http://www.tout-pour-le-bien-etre.com/temp.html>;  
 
   print ("<blockquote>" );  
  print ("<font size="2" face="Arial">n" );  
  for ($i=$form{'lastnb'}+1;$i<=$form{'lastnb'}+$form{'result_par_page'};$i++) {  
    ## boucle principale d'affichage des résultat  
    if ($files[$i-1]) {  
      # on ne génère un affichage que si il y encore à afficher  
      $fichier=$files[$i-1];  
      print ("<br><a href="$baseurl$fichier">".$titre{$fichier}."</A>n" );  
    } else {    # plus rien à afficher  
      if ($res==0) {$res=$i;}  
      $fini=1;  
    } # end if  
 
  }  # end for  
  print ("</font>n" );  
  print ("</blockquote>" );  
 
  return $res;  
}  
 
 
Comme ça c'est peut-être plus simple pour la retrouver. apartir de ça quelqu'un peut-il me dire ou se situe l'erreur, car mon require n'affiche rien.
 
Merci d'avance


---------------
Xeon
n°1339433
anapajari
s/travail/glanding on hfr/gs;
Posté le 05-04-2006 à 09:53:53  profilanswer
 

xeonaussi a écrit :

...

Code :
  1. require <http://www.tout-pour-le-bien-etre.com/temp.html>;


 ...


Tu t'attends à ce que ça fasse quoi exactement ton require la?
require c'est pour faire de l'inclusion de code (perl), c'est pour faire de l'écriture modulaire...

n°1339438
xeonaussi
Posté le 05-04-2006 à 10:00:40  profilanswer
 

Je voudrais intégrer du code html de cette façon.


---------------
Xeon
n°1339450
xeonaussi
Posté le 05-04-2006 à 10:14:01  profilanswer
 

Si ce n'est pas possible, ou pourrais-je trouver des informations sur la syntaxe en perl ?


---------------
Xeon
mood
Publicité
Posté le 05-04-2006 à 10:14:01  profilanswer
 

n°1339453
xeonaussi
Posté le 05-04-2006 à 10:21:00  profilanswer
 

Je précise "sur la syntaxe pour écrire du html dans perl ?"


---------------
Xeon
n°1339551
pospos
Posté le 05-04-2006 à 12:10:53  profilanswer
 

tu dois charger ton html et le mettre dans une variable, puis eventuellement l'afficher avec un print (ou le manipuler, etc...)
 
utilise File::Slurp pour charger le fichier


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

  comment faire un include en perl?

 

Sujets relatifs
Plantage appli perl/tk lors d'une boucle ?Include et EasyPHP [resolu]
include('index.php3?rub=menu_ d'); me pose PB !!!Pb avec easyphp et les include
[Perl] Programmation XS[Perl] est-il possible d'exécuter une application Perl sur un hébergeu
[Perl] Détecter un changement d'heureinclude imbriqué
[Perl] Nombre de jour entre 2 datesPERL - je n'y connais rien si qqun peut m'aider
Plus de sujets relatifs à : comment faire un include en perl?


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