#!/usr/bin/perl use strict; use warnings; use utf8; use open qw/:std :utf8/; use Encode; use Getopt::Long; my ($programme) = $0 =~ m|^(?:.*/)?(.+)|; $programme = decode_utf8($programme); my $reportoire = ""; #par exemple "Vv2_new" my $journal = ""; #par exemple "Nom_Du_Revue.txt" my $id = ""; #par exemple "Nom_Du_Article.txt" my $data = ""; #par exemple "Vieillissement_V2_New.txt" eval { $SIG{__WARN__} = sub {usage(1);}; GetOptions( "reportoire=s" => \$reportoire, "journal=s" => \$journal, "id=s" => \$id, "data=s" => \$data, ); }; $SIG{__WARN__} = sub {warn $_[0];}; usage(2) if not $reportoire or not $journal or not $id or not $data; open(REVUE, "<:utf8", $journal) or die "Couldn't open file $revue, $!"; my @a = <REVUE>; foreach my $revue (@a){ chomp($revue); $revue =~ s/\s/_/g; } open(ID, "<:utf8", $id) or die "Couldn't open file $id, $!"; my @b = <ID>; foreach my $id (@b){ chomp($id); } open(DATA, ">:encoding(UTF-8)",$data) or die "Couldn't open file $data, $!"; print DATA "\"revue\",\"id\"\n"; foreach my $i(0 .. $#a){ open(FILE, "<:utf8", "$reportoire/$b[$i]") or die "Couldn't open file $b[$i]$!"; print DATA "**** *revue_$a[$i] *id_$b[$i]\n"; my @texte = <FILE>; foreach my $ligne (@texte){ $ligne =~ s/\*//g; } print DATA @texte; close(FILE); } close(DATA); close(ID); exit 0; sub usage { my $code = shift; print STDERR "Usage : $programme -r reportoire -j journal -i id -d data \n"; exit $code; }