Pour les expressions en Perl avec boucles implicites (en utilisant -n
o -p
options de ligne de commande), utilisez last
o last LINE
pour sortir de la boucle qui itère sur les enregistrements d'entrée. Par exemple, ces exemples simples impriment tous les 2 premières lignes de l'entrée :
echo 1 2 3 4 | xargs -n1 | perl -ne 'last if $. == 3; print;'
echo 1 2 3 4 | xargs -n1 | perl -ne 'last LINE if $. == 3; print;'
echo 1 2 3 4 | xargs -n1 | perl -pe 'last if $. == 3;'
echo 1 2 3 4 | xargs -n1 | perl -pe 'last LINE if $. == 3;'
Tous les imprimés :
1
2
Les perl one-liners utilisent ces drapeaux de ligne de commande :
-e
: indique à Perl de chercher le code en ligne, au lieu de le chercher dans un fichier.
-n
: boucle sur l'entrée une ligne à la fois, l'assignant à $_
par défaut.
-p
: même chose que -n
, ajoutez également print
après chaque itération de la boucle sur l'entrée.
VOIR AUSSI :
last
docs
last
, next
, redo
, continue
- un exemple illustré
perlrun : documentation sur les commutateurs de ligne de commande
Autres exemples de last
en Perl one-liners :
Cassez une ligne de commande script après la première correspondance.
Imprimer les N premières lignes d'un grand fichier
24 votes
Et si vous n'aviez pas activé l'option "strict subs", vous auriez obtenu une erreur d'exécution lorsque le système n'a pas pu trouver un sous-domaine nommé "break".