From horacio.hidalgo en gmail.com Mon Aug 24 13:19:11 2009 From: horacio.hidalgo en gmail.com (Horacio Hidalgo) Date: Mon, 24 Aug 2009 14:19:11 -0600 Subject: consulta Message-ID: <5362a12c0908241319k68a01868yc952ff1fdecaa6b7@mail.gmail.com> buenas, estaba trabajando en una expresion regular para hacer un split, sin embargo me esta generando valores en el array indefinidos, lo que tuve que hacer fue filtrar los resultados que populan el array con grep, alguna idea de como se podria eliminar esto de una forma mas "elegante"? Saludos, Horacio use strict; use warnings; use feature ':5.10'; my $var = "vivo \"en un bonito barrio\" en costa rica"; say($var); my @splitted = grep{ defined $_} split(m/\s+(\".*\")\s+|\s+/,$var); #my @splitted = split(m/\s+/,$var); print $#splitted ."\n"; for(@splitted) { print; print "\n"; } print "\n"; ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From a.r.ferreira en gmail.com Mon Aug 24 14:25:25 2009 From: a.r.ferreira en gmail.com (Adriano Ferreira) Date: Mon, 24 Aug 2009 18:25:25 -0300 Subject: consulta In-Reply-To: <5362a12c0908241319k68a01868yc952ff1fdecaa6b7@mail.gmail.com> References: <5362a12c0908241319k68a01868yc952ff1fdecaa6b7@mail.gmail.com> Message-ID: <73ddeb6c0908241425l625117ccle1bef435891d276e@mail.gmail.com> 2009/8/24 Horacio Hidalgo > buenas, > > estaba trabajando en una expresion regular para hacer un split, sin embargo > me esta generando valores en el array indefinidos, lo que tuve que hacer fue > filtrar los resultados que populan el array con grep, alguna idea de como se > podria eliminar esto de una forma mas "elegante"? > > Saludos, > Horacio > > use strict; > use warnings; > use feature ':5.10'; > my $var = "vivo \"en un bonito barrio\" en costa rica"; > say($var); > my @splitted = grep{ defined $_} split(m/\s+(\".*\")\s+|\s+/,$var); > #my @splitted = split(m/\s+/,$var); > print $#splitted ."\n"; > for(@splitted) > { > print; > print "\n"; > } > print "\n"; > > __ > Costarica-pm at pm.org > http://mail.pm.org/mailman/listinfo/costarica-pm > > Es muy dificile de hacer lo que quieres con un "split" - he experimentado con el novo "branch reset pattern" ?| pero sin suceso. Puedes hacer solamente: @fields = $var =~ /"[^"]*"|\S+/g; -------------- next part -------------- An HTML attachment was scrubbed... URL: