[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