[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Problemas al ejecutar programa perl



Que tal, espero que me puedan ayudar, quiero implementar este programa 
para que me haga la funcion de contador de paginas, pero no funciona 
si lo mando llamar de una pagina ya sea por <!-- exec 
cgi=/cgi-bin/contador.pl"-->, ni directo es decir ej: 
http://172.24.5.212/cgi-bin/contador.pl , pero si lo ejecuto desde la 
consola si despliega los encabezados de html algo asi:

Content-Type: text/html

<html>
<body> etc...

que onda en los logs del apache en access_log no hace ninguna 
referencia a el y en error_log dice
malformed header from script. Bad header <html><body>: 
/home/httpd/cgi-bin/contador.pl
No jala at /home/httpd/cgi-bin/contador.pl line 19.
No jala at /home/httpd/cgi-bin/contador.pl line 19.
No jala at /home/httpd/cgi-bin/contador.pl line 18.
No jala at /home/httpd/cgi-bin/contador.pl line 18.
No jala at /home/httpd/cgi-bin/contador.pl line 18.

el archivo que lleva el control de el numero esta en 
/home/httpd/cgi-bin/marca.txt con permiso 744 y ademas por si las 
moscas hice otra copia en /home/httpd/html/marca.html los permisos de 
contadro.pl son 755, cual es mi error? Que tengo que hacer para 
corregirlo? Porque en consola si manda un documento con los numeros 
desplegados pero al inicio, no se porque dice Content-Type: text/html 
e inmediatamente los #'s, ya que ese encabezado se supone que no debe 
aparecer?

Gracias por su ayuda


#!/usr/bin/perl
#programa: contador.pl
$num_dig = 5;
$img_end = "\.gif";
$txt_pth = "/home/httpd/cgi-bin/marca.txt";
$img_pth = "http://172.24.5.212/";;
$graphic = "yes";

print "Content-Type: text/html\n\n";
print "<html>";
print "<body>";

open (COUNTER, "$txt_pth") || die ("No jala");
$count = <COUNTER>;
close (COUNTER);

$count += 1;
open (COUNTER, ">$txt_pth") || die ("No jala");
print COUNTER ("$count");
close (COUNTER);
@digits = split (//, $count);
if ($num_dig=0) {$howmany = @digits;}
else {$howmany = $num_dig;}

$spline = '%0'.$howmany.'d';
$count=sprintf("$spline",$count);
@dgt_num = split (//, $count);

foreach $cnt_num (@dgt_num) {
   if ($graphic eq "yes") {
       print ("<img src\=\"$img_pth$cnt_num$img_end\">\n");}
   else {
      $plain=$cnt_num;
      print ("$plain");}
}
print "</body></html>";




[Hilos de Discusión] [Fecha] [Tema] [Autor]