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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Filtre avec apache2 en perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Filtre avec apache2 en perl

n°647272
plpeyssard
Posté le 09-03-2005 à 13:27:54  profilanswer
 

Bonjour tout le monde
 
J'ai écrit un script perl pour faire un filtre apache 2 avec la directive:
ExtFilterDefine affpub1 mode=output
cmd=/var/www/hebergemoi/cgi-bin/afflogo.pl pour afficher automatiquement
quelque chose en haut de chaque page.  :D  
Voici le script:
 
#!/usr/bin/perl -w
use mod_perl qw(all);
 
$ARGV[0]="";
open(SAVE, ">$ARGV[0]" ); # || die "can't open $ARGV[0]: $?";
open(OUT, ">outfile" );
 
print"<table width=\"800\" border=\"0\" align=\"center\" cellspacing=\"0\"
cellpadding=\"0\">
  <tr>
    <td align=\"center\">
     hello world
    </td>
  </tr>
</table>";
 
while (<STDIN> )
{       print SAVE $_;
        print $_;
        print OUT $_;
}
 
J'obtiend l'erreur suivante:
print() on closed filehandle SAVE at
/var/www/hebergemoi/cgi-bin/afflogo.pl line 10, <STDIN> line ... a chaque ligne print
 
Si l'un d'entre vous a une idée ? merci  
pierre-louis

mood
Publicité
Posté le 09-03-2005 à 13:27:54  profilanswer
 

n°647317
Aricoh
gentil mais fo po pousser
Posté le 09-03-2005 à 14:54:41  profilanswer
 

Ta ligne là :

Code :
  1. open(SAVE, ">$ARGV[0]" ); # || die "can't open $ARGV[0]: $?";


 
Tu as commenté (et donc désactivé) la partie te faisant quitter ton prog s'il ne parvient pas à ouvrir en écriture $ARGV[0].
 
Si tu réactive ton die, qu'est-ce que ça donne ?
 
Edit : print() on closed filehandle SAVE at, c'est le compilo qui te prévient que tu essaie de printer sur un canal pas ouvert en écriture.


Message édité par Aricoh le 09-03-2005 à 14:55:30

---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°647582
plpeyssard
Posté le 09-03-2005 à 22:44:58  profilanswer
 

Salut
Merci pour le coup de main.
Si je réactive le die, j'ai en prime:
can't open : 0 at /var/www/hebergemoi/cgi-bin/afflogo.pl line 5.
j'ai oublié de mentionner que le message d'erreur suivant est:
[Wed Mar 09 22:37:19 2005] [error] [client 192.168.0.11] (32)Broken pipe: apr_file_write(child input), len 0
[Wed Mar 09 22:37:19 2005] [error] [client 192.168.0.11] (32)Broken pipe: apr_file_write(child input), len 0
 
s'ensuit alors une série de :
print() on closed filehandle SAVE at /var/www/hebergemoi/cgi-bin/afflogo.pl line 17, <STDIN> line 547.
print() on closed filehandle OUT at /var/www/hebergemoi/cgi-bin/afflogo.pl line 19, <STDIN> line 547.
autant de fois qu'il y a de print, ce qui est logique, vu le broken pipe au départ.
L'entrée vient d'apache. La sortie retourne à apache puis au navigateur. (OUT et SAVE)
Ca coince des deux cotés.
Le pire, c'est que sans le die, la page s'affiche nickel sur le navigateur, mais avec en prime les messages d'erreur.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Filtre avec apache2 en perl

 

Sujets relatifs
[résolu] MDK 10.1 : passer de Perl 5.8.5 => 5.8.4impossible de démarrer Apache avec mod_perl dans la conf
Les CGI en perl ne flush pas l'output !?Problème installation Apache2 + PHP4 (Debian)
Ou se trouve le rpm de apache2 sur fedora core 2 ?BSD apache2 php5 --> libphp5.so introuvable
Maildrop : executer un script perlConvertion sh (awk) -> perl
[Installation] Apache2-Mandrake 9.0comment downgrader apache2 sur une gentoo
Plus de sujets relatifs à : Filtre avec apache2 en perl


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