Perl: recuperer 10 last lignes d'un fichier

Fermé
Emilie - 1 oct. 2005 à 17:01
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 4 oct. 2005 à 00:26
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 mercredi 20 juillet 2005 Statut Membre Dernière intervention 9 janvier 2017 50
3 oct. 2005 à 22:29
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
4 oct. 2005 à 00:26
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