problema con mi contador

Salman Programas S. L. correo@salman-psl.com
Tue, 30 Dec 1997 23:07:41 +0100


Hola Juan Feliz Año

Aparte de tener que usar los comandos SSI, si tu servidor no dispone de esa
utilidad, puedes transformar el contador a un mapa de byts y en lugar de
escribirlo como texto, lo escribes como imagen con la orden
print "Content-type: image/x-xbitmap\n\n";
para transformarlo a mapa de byts necesitas esta rutina:

=======================================================================
###########################################################################
# HITXBM.PL - Module required by hitmat.cgi & hitman.cgi
#
# Copyright (C) 1996 by Joe DePasquale, Last revised: August 8, 1997
# E-MAIL: getcruzn@shadow.net  URL: http://www.shadow.net/~getcruzn
#
###########################################################################
# The bitmap data file @gened is used with the author's permission.
#     number.xbm  (C) 1994 Eugene E. Devereaux <gened@halcyon.com>
# Adapted for UUNET (NCSA httpd) by David MacKenzie <djm@va.pubnix.com>
###########################################################################
# Sub: Make an x-bitmap image of the count
sub makeXbm
{
  ($printTtl,$digits,$XBM) = @_;
  $printTtl = substr ($printTtl,0);
  $pad = $digits - length ($printTtl);
  $xbmWidth = $digits * 16;
  for ($x=0; $x<$digits; $x++)
  { if ($x<$pad) { $printTtl = "0".$printTtl; }
    push @xbmNbr, substr ($printTtl,$x,1);
  }
  # assign bitmap byte octals for numbers 0..9 to list of lists
  @gened = (

['00','00','e0','07','f0','0f','30','0c','30','0c','30','0c','30','0c','30',
'0c',

'30','0c','30','0c','30','0c','30','0c','30','0c','f0','0f','e0','07','00','
00'],

['00','00','80','01','c0','01','e0','01','80','01','80','01','80','01','80',
'01',

'80','01','80','01','80','01','80','01','80','01','e0','07','e0','07','00','
00'],

['00','00','e0','07','f8','1f','18','18','18','18','18','1c','00','0e','00',
'07',

'80','03','c0','01','e0','00','70','00','38','00','f8','1f','f8','1f','00','
00'],

['00','00','f0','07','f0','0f','30','0c','00','0c','00','0c','00','0c','c0',
'0f',

'c0','0f','00','0c','00','0c','00','0c','30','0c','f0','0f','f0','07','00','
00'],

['00','00','00','06','00','0f','80','0f','c0','0d','e0','0c','70','0c','f0',
'0f',

'f0','0f','00','0c','00','0c','00','0c','00','0c','00','0c','00','0c','00','
00'],

['00','00','e0','0f','f0','0f','30','00','30','00','30','00','30','00','f0',
'07',

'e0','0f','00','0c','00','0c','00','0c','30','0c','f0','07','e0','03','00','
00'],

['00','00','20','00','30','00','30','00','30','00','30','00','30','00','f0',
'07',

'f0','0f','30','0c','30','0c','30','0c','30','0c','f0','0f','e0','0f','00','
00'],

['00','00','f0','0f','f0','0f','30','0c','30','0c','00','06','00','03','00',
'03',

'80','01','80','01','c0','00','c0','00','60','00','60','00','60','00','00','
00'],

['00','00','e0','07','f0','0f','30','0c','30','0c','30','0c','60','06','c0',
'03',

'c0','03','60','06','30','0c','30','0c','30','0c','f0','0f','e0','07','00','
00'],

['00','00','e0','07','f0','0f','30','0c','30','0c','30','0c','e0','0f','c0',
'0f',

'00','0e','00','0e','00','07','80','03','c0','01','e0','00','60','00','00','
00'],
  );
  # create image file of printTtl
  open (XBM,">$XBM");
  print (XBM "#define acceso_width $xbmWidth\n");
  print (XBM "#define acceso_height 16\n");
  print (XBM "static char acceso_bits[] = {\n");
  for ($y=0; $y<=30; $y=$y+2)
  { foreach $x (@xbmNbr)
    { print (XBM "0x$gened[$x][$y],0x$gened[$x][$y+1],");
    }
    print (XBM "\n");
  }
  print (XBM "};\n");
  close (XBM);
} # end makeXbm
1; # return true
============================================================================
=
la cual la llamas de la siguiente manera:
============================================================================
=
require "./hitxbm.pl";
 &makeXbm ($count,6,$FICHEROXBM);
 print "Content-type: image/x-xbitmap\n\n";
 print `cat $FICHEROXBM`;
============================================================================
=
donde $count es el numero que quieres transformar a imagen y "6" es el numer
o de digitos que quieres que aparezcan.
la llamada desde tu pagina seria entonces en el formato <img
src="http://dominio.com/cgi-bin/contador.cgi">
Un saludo y feliz año
Salvador


-----Original Message-----
De: juan dosil <xonas@eixe.ei.uvigo.es>
Para: Lista de Perl <perl@tlali.iztacala.unam.mx>
Fecha: miércoles 31 de diciembre de 1997 1:24
Asunto: problema con mi contador


>Hola a todos. Feliz año 1998 para todos , y que venga lo mejor posible.
>Bueno , un pequeño problemilla:
>Tengo echo un contador para mi pagina en perl , y lo que quiero saber es
>como llamar al cgi desde mi pagina para que me devuelva el valor de la
>variable......
>1-Tal vez llamarlo como una imagen ( NO me funciona)
>2-La otra posibilidad seria desde un formulario , ( Pero no es nada
>estetico).
>
>Venga, a cuidarse todos.......
>mailto:xonas@eixe.ei.uvigo.es
>http://xures.ei.uvigo.es/~xonas/personal
>Mi pagina con buscadores,manuales,webcams,literatura,cine....