Bonjour
Y'aurait il une fonction equivalent a preg_replace en Perl ? pour ce bout de code
Merci d'avanceCode:
1
2 labels[$id]=preg_replace('#^(\d{4}(-\d{2})-(\d{2}))$#','$2/$3',$date);
Cordialement
Version imprimable
Bonjour
Y'aurait il une fonction equivalent a preg_replace en Perl ? pour ce bout de code
Merci d'avanceCode:
1
2 labels[$id]=preg_replace('#^(\d{4}(-\d{2})-(\d{2}))$#','$2/$3',$date);
Cordialement
Si ton perl est au moins 5.14 tu peux utiliser le suffixe r dans une substitution(incidemment, est ce que le premier '-' ne devrait pas être en dehors des parenthèses ?)Code:
1
2
3
4
5 Taisha:~/tttmp $ perl -E 'say $_, q{ --> }, s#^(\d{4}(-\d{2})-(\d{2}))$#$2/$3#r for @ARGV' 2013-11-19 20131119 foo 2013-11-19 --> -11/19 20131119 --> 20131119 foo --> foo Taisha:~/tttmp $
Tu peux l'utiliser comme suit :
avec une version antérieure ou si tu ne veux pas utiliser le suffixe r tu peux écrireCode:$labels[$id] = $date =~ s#^(\d{4}(-\d{2})-(\d{2}))$#$2/$3#r;
Code:($labels[$id] = $date) =~ s#^(\d{4}(-\d{2})-(\d{2}))$#$2/$3#;