[Perl] : passer une simple regex

Perl est super pratique pour fair en une ligne ce que d’autres mettraient plusieurs ligne à faire. En plus Perl se comprend relativement bien je le trouve assez intuitif.

Comment appliquer une regex en Perl et afficher directement le résultat ?

echo "12:30:58" | perl -nle '$_ =~ /(..):(..):(..)/ ; print "Heures:$1\nMinutes:$2\nSecondes:$3"'

Résultat :

Heures:12
Minutes:30
Secondes:58

Donc :

  • $_ : permet de récupérer l’entrée standard
  • =~ / / : permet d’appliquer une regex
  • () : parenthèses capturantes
  • $1 : première parenthèse capturante

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s