[Perl] Pregunta #3
Alejandro G. Bedoya
nezumi@prodigy.net.mx
Fri, 15 Mar 2002 04:15:32 -0600
>Umm... =BFPor qu=E9 sigues teniendo el $Temporal{$Fi2}++;?
Porque soy medio wey???
>El que te aparezcan warnings no s=F3lo hace que sea m=E1s lento, sin=
o que te
>indica d=F3nde est=E1s cag=E1ndola. El ver warnings en tu programa t=
e debe hacer
>corregirlo para evitarlos.
Lo que pasa es que nunca uso warnings... adem=E1s, como se le hac=
e para
ver el warning en HTML?? Si corro uno de mis programas desde la conso=
la solo
se ejecuta cierta parte del mismo, tengo que ejecutarlo desde el brow=
ser...
>Si quieres contar cu=E1ntas ocurrencias de cada llave hay, te sugier=
o algo
>as=ED:
>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.=
.. El
defined no ocasiona de todas maneras pasos adicionales internos para =
ver si
esta definido o no???
>Varias maneras de evitar esto... La primera, muy simple, evitar ser
>llamado por GET si recibimos alg=FAn par=E1metro:
>die 'Me llamaron brinc=E1ndose las reglas!' if (param() && request_m=
ethod ne
>'POST');
Si y s=F3lo si nunca usas GETs. En algunos casos si se tienen que=
usar.
Por ejemplo, el usuario comun entra por sistema.pl y el supervisor e=
ntra
por sistema.pl?super
>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???
---
Sinceramente...
Alejandro G. Bedoya
InterAccion.COM Ponemos su Internet en Acci=F3n