[SP-pm] Melhor forma de escrever
breno
breno at rio.pm.org
Mon Feb 9 10:46:16 PST 2009
2009/2/9 Pedro Anisio <pedroanisio em gmail.com>:
> Vou verificar como fica assim, de qualquer forma ainda gostaria de saber
> como fazer essa substituição usando apenas uma regexp?
>
> my @tmp = split("/",$eachFile);
> $result_data_hash_pointer->{$dir_count_int}->{name_str} = $tmp[-1];
>
Opa,
Vc pode trocar o seu split por uma regexp, como:
my $filename = $1 if $eachFile =~ m{/([^/]+)$};
mas o split me parece mais rápido:
--------------------------------8<------------------------------
Rate regexp split
regexp 149701/s -- -22%
split 193050/s 29% --
-------------------------------->8------------------------------
Finalmente, por uma questão de portabilidade, acho melhor fazer algo como:
use File::Spec;
my (undef, undef, $filename) = File::Spec->splitpath($eachFile);
Mas para buscar dentro de diretórios e pegar apenas o nome "final" dos
arquivos, a solução do Nelson me parece a mais elegante e eficiente.
[]s
-b
More information about the SaoPaulo-pm
mailing list