[Cascavel-pm] Substituindo números com zero a esquerda.
Nelson Ferraz
nferraz em gmail.com
Terça Janeiro 15 18:12:44 PST 2008
> Tentei algo tolo como;
>
> $line =~ s/Folha \d+/Folha $count/;
>
> Só que não consigo manter os zeros a esquerda.
>
> Pensei em fazer um split e depois imprimir a parte numérica em separado,
>
> printf '%05s', $count;
>
> deu certo, mas gostaria de saber uma forma mais galante para fazer isso.
Você está no caminho certo.
Agora pode combinar as duas soluções colocando um /e no final da
expressão regular, que significa realizar um "eval" no lado direito da
regexp:
my $line = "Folha 1234";
my $count = 5;
$line =~ s/Folha \d+/sprintf('Folha %05d', $count)/e;
print $line;
Mais detalhes sobre a lista de discussão Cascavel-pm