Perl: recuperer 10 last lignes d'un fichier

Emilie -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

J'aimerais savoir comment recuperer les 10 dernieres lignes d'un fichier en perl.
Faut il passer par un tableau donc tout charger ?

EMilie
A voir également:

2 réponses

hssissen Messages postés 844 Date d'inscription   Statut Membre Dernière intervention   50
 
Salut,
Ça depend de ce que tu veux faire avec!
Si tu comptes faire des traitemets particuliers donc tu peux les mettre dans une liste (liste est un vecteur d'objet en PERL, c'est un fourre tout!). Par exemple mettre chaque ligne lue dans un objet de la liste et faire les traitements voulus.
Pour lire les 10 dernieres lignes d'un texte a partir de PERL, tu peux utiliser la fonction system() qui permet de'executer des commandes shell par exemple dans un script PERL. Dans ton cas tu peux faire:
system("tail -10 ton_fichier").
J'espere que ca repond a ta question.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

et en utilisant que Perl (sans des commandes shell)
#! /usr/bin/perl -w

use strict;

open FIC, "ligne";
my @ligne = <FIC>;
my @ligne10 = (reverse @ligne)[0..9];
print reverse @ligne10;


Donc on lit le fichier dans un tableau qui on l'inverse, ensuite on prend une tranche de tableau ( les 10 ligne) en l'inverse de nouveau pour affichage.
0