[Cascavel-pm] Substituir letra

Nelson Ferraz nferraz em gmail.com
Sexta Maio 12 02:18:06 PDT 2006


Luis Motta Campos wrote:
>>E outra coisa.. tenho a variavel $data que vem nesse formato (yyyymmdd_hhmm)
>>preciso passar para o formato do MYSQL pois vou inserir no banco..
>>yyyy-mm-dd hh:mm
> 
>    $data =~ s{(20\d{2})              # ano VALIDO em $1
>               (0?[1-9]|1[012])       # mes VALIDO em $2
>               (0?[1-9]|[12]\d|3[01]) # dia (quase*) VALIDO em $3
>               _                      # underscore, conforme especificado
>               ([01]\d|2[0-3])        # horas VALIDAS em $4
>               ([0-5]\d)              # minutos VALIDOS em $5
>               }{$1-$2-$3 $4:$5}x;    # Finalmente, a string mágica...

Poxa, Luis... isso não foi um pouco de over-engineering de sua parte? rs

Talvez o programa ganhe alguma coisa, mas perde muito em legibilidade, 
comparando-se com um simples /(\d\d\d\d)(\d\d)(\d\d)_(\d\d)(\d\d)/. E, 
lembre-se, o tempo do programador vale muito mais do que o tempo da 
máquina! (Ok, quase sempre... rs)

Além disso, a sua a regexp não funciona para qualquer período fora do 
século XXI, e um único caractere trocado, no meio de tantos caracteres, 
poderia gerar um erro imprevisível.

Enfim: "Projete para a simplicidade; só adicione complexidade onde 
precisar." ;)

[]s

Nelson

PS- eu entendo que o objetivo foi ser didático... mas eu não poderia 
perder esta oportunidade de liberar meu lado ogro, não é mesmo? :D

-- 
Nelson Corrêa de Toledo Ferraz

Segula Technologies (www.segula.fr)
Free Software Foundation Associate Member #3203
Sociedade Perl do Brasil (www.perl.org.br)
Rede Livre de Compartilhamento de Cultura Digital


Mais detalhes sobre a lista de discussão Cascavel-pm