Re: [Cascavel-pm] Módulo para utilizar "rules" em Perl5
Flavio S. Glock
fglock em gmail.com
Quarta Março 15 13:31:54 PST 2006
Galvão:
Em Perl6 poderia ser assim (essa é uma das muitas formas):
rule safename { <alphanum>+ }
if ( $cgi->param('username') ~~ / <safename>/ ) {
...
}
ou usando uma variável para guardar o nome filtrado:
my $safe_user_name
if ( $cgi->param('username') ~~ / $safe_user_name := <safename> / ) {
...
}
- Flavio S. Glock
Em 14/03/06, "Er Galvão Abbott - PortoAlegre.pm"<pmpoa em galvao.eti.br> escreveu:
> Flávio:
>
> Como fica o processo de untaint? Seria algo como:
>
> #!/usr/bin/perl -wT
> use strict;
> use CGI;
>
> my $cgi = new CGI();
>
> my $unsafeUsername = $cgi->param('username');
> my $safeUsername = $1 if $unUsername ~~ /[A-Z][0-9]/i;
>
> if (defined $safeUsername)
> {
> ...
> }
>
> Isso?
>
> Galvão
>
> Flavio S. Glock wrote:
> > Nélson:
> >
> > este módulo é "perl5"!
> >
> > Em perl6:
> >
> > 'abc' ~~ /((.).)./;
> > say $0; # ab
> > say $0[0] # a
> >
> > - Flavio S. Glock
> >
> > 2006/3/14, Nelson Ferraz <nferraz em gmail.com>:
> >
> >> On 3/13/06, Flavio S. Glock <fglock em gmail.com> wrote:
> >>
> >>> use Pugs::Compiler::Rule;
> >>>
> >>> my $rule = Pugs::Compiler::Rule->compile( '((.).).' );
> >>> my $match = $rule->match( 'abc' );
> >>>
> >>> if ($match) { # true
> >>> print $match; # "abc"
> >>> print $match->from; # 0
> >>> print $match->to; # 3
> >>> print $match->[0]; # "ab"
> >>> print $match->[0][0]; # "a"
> >>> }
> >>>
> >> Sabe o que me assusta um pouco? É que isso se parece muito com Java:
> >>
> >> Pattern pattern = Pattern.compile("(.*):(.*)");
> >> Matcher matcher = pattern.matcher("10:20");
> >> if(matcher.matches())
> >> {
> >> System.out.println(matcher.group()); // 10:20
> >> System.out.println(matcher.group(1)); // 10
> >> System.out.println(matcher.group(2)); // 20
> >> }
> >>
> >> []s
> >>
> >> Nelson
> >> _______________________________________________
> >> Cascavel-pm mailing list
> >> Cascavel-pm em pm.org
> >> http://mail.pm.org/mailman/listinfo/cascavel-pm
> >>
> >>
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> >
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
Mais detalhes sobre a lista de discussão Cascavel-pm