[Perl] Pregunta #3
Gunnar Wolf
gwolf@campus.iztacala.unam.mx
Fri, 15 Mar 2002 09:17:54 -0600 (CST)
> >Umm... =BFPor qu=E9 sigues teniendo el $Temporal{$Fi2}++;?
>
> Porque soy medio wey???
Eso explica muchas cosas :)
> >El que te aparezcan warnings no s=F3lo hace que sea m=E1s lento, sino qu=
e te
> >indica d=F3nde est=E1s cag=E1ndola. El ver warnings en tu programa te de=
be hacer
> >corregirlo para evitarlos.
>
> Lo que pasa es que nunca uso warnings... adem=E1s, como se le hace pa=
ra
> ver el warning en HTML?? Si corro uno de mis programas desde la consola s=
olo
> se ejecuta cierta parte del mismo, tengo que ejecutarlo desde el browser.=
=2E.
tail -f /path/de/logs/de/apache/error.log
> >foreach my $Fic1 (@IndiceFichero1, @IndiceFichero2) {
> > # =BFPara qu=E9 hacer dos ciclos si puedes hacer uno s=F3lo?
> > if defined $Temporal{$Fic} {
> > $Temporal{$Fic}++;
> > } else {
> > $Temporal{$Fic} =3D 1;
> > }
> >}
>
> Pues si, ser=EDa con el defined, pero ya se me hace mucha jalada... E=
l
> defined no ocasiona de todas maneras pasos adicionales internos para ver =
si
> esta definido o no???
S=ED, pero esto lo hice para que te vaya generando la cuenta de cu=E1ntos
tienes de cada uno. Igual podr=EDas reemplazar el if completo con un
$Temporal{$Fic} =3D 1 sin verificaci=F3n...
Cuando lo aumentas ($Temporal{$Fic}++) recuerda que Perl tiene que ir a
buscar su contenido a la memoria, y de todos modos identificar=E1 si est=E1=
o
no definido, y generar=E1 la excepci=F3n para reemplazar ese valor indefini=
do
por un cero en la suma.
> >La segunda, m=E1s simple y recomendable a=FAn: Siempre verificar que el
> >usuario sea v=E1lido al iniciar la sesi=F3n. (c=F3digo feo ejemplo)
>
> >verificaUsuario(param('user')) if param();
> >(...)
> >sub verificaUsuario {
> > my $usr=3Dshift;
> > return 0 if usuarioValido($usr);
> > print h3('Vete a la goma. No me caes bien.'), end_html;
> > exit 0;
> >}
>
> Y como es eso de param??? Que tipo de sesi=F3n???
Recuerda que param es una simple funci=F3n que te da CGI.pm. Si la llamas
sin par=E1metros, te regresa el n=FAmero de par=E1metros recibidos. Lo que =
hago
ac=E1 es que si hay par=E1metros verifique al usuario ad ovum.
--=20
Gunnar Wolf - gwolf@campus.iztacala.unam.mx - (+52-55)5623-1118
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF