no save
Assistance
Achat
News

Forum | programmation
traitement perl repertoire-et ss repertoire
knebhi, le mer. 16 avr. 2008 à 11:16:15
Bonjour,

Je souhaiterai effectuer un traitement sur des fichiers txt pour enlever une partie du texte (l'en-tête).
J'ai ce script perl qui devrait me renvoyer mes fichiers .abu en .txt après les avoir traités.

Cependant, il me renvoit l'erreur : impossible d'ouvrir Francois.le.champi_ABU.abu

voici mon code perl :
#!/usr/bin/perl

use strict;
use locale;

if ( $#ARGV != 0 ){
die "Usage : ", $0, " REPERTOIRE\n";
}

##ouverture du repertoire en argument
opendir( REPERTOIRE, $ARGV[0] ) or
die "impossible d'ouvrir le répertoire ", $ARGV[0], "\n";

###on stocke les fichier .abu dans @fichiers
my @fichiers = grep( /\.abu$/, readdir(REPERTOIRE) );
closedir(REPERTOIRE);
##boucle pour remplacer les .Abu en .txt
for my $f (@fichiers){
my $r = $f ;
$r =~ s/^(.*)\.abu$/$1.txt/;
print STDERR $r, "\n";
# traitement du fichier pour enlever les entetes
open(ENTREE, "<" $f) or die "impossible d'ouvrir ", $f;
open(SORTIE, ">", $r) or die "impossible d'ouvrir ", $r;
my $dans_texte = 0;
while(my $ligne = <ENTREE>)
{
if($ligne =~ / FIN DU FICHIER /)
{
$dans_texte = 0;
}
if($dans_texte){
print SORTIE $ligne ;
}
if($ligne =~ / DEBUT DU FICHIER /){
$dans_texte = 1;
}
}
close(SORTIE);
close(ENTREE);
}

je precise que je suis sous mac os et que ma je tape le nom du fichier.pl et le repertoire en argument

merciConfiguration: Mac OS X


youlla
17 juin
Suivant
REPONSES
youlla
17 juin
knebhi
17 juin
youllla
17 juin
knebhi
17 juin
youllla
17 juin
knebhi
17 juin
youllla
17 juin
Version Web
Réalisé par RedShift
no save