File::Tabular : recherche et édition dans fichiers plats tabulaires
Par Laurent Dami (dami) de Geneva.pm
Date : vendredi 10 juin 2005 11h40
Durée : 20 minutes
Langue :
Tout programmeur rencontre périodiquement des fichiers tabulaires (données rangées dans un fichier plat, un enregistrement par ligne, caractère séparateur entre les champs, nom des champs sur la première ligne). Souvent, Perl est le langage idéal pour traiter ce genre de fichiers en quelques lignes de code. Néanmoins, lorsqu'il s'agit de mettre à jour de tels fichiers, ou d'effectuer des recherches multicritères complexes, il ne suffit plus d'aligner deux ou trois grep et regex pour s'en sortir : c'est là que le module File::Tabular peut prendre le relais.
File::Tabular optimise la consultation et la mise à jour des fichiers tabulaires, de façon économe en ressource, avec gestion des verrous, et journalisation optionnelle des modifications. Il fournit également des méthodes de recherche, soit par mots entiers, soit par expressions régulières, soit par opérateurs de comparaison et combinaisons booléennes ; ces requêtes subissent une compilation interne avant d'être appliquées aux enregistrements, ce qui permet d'obtenir de bonnes performances même avec des données relativement volumineuses.