diff --git a/outils/stats-corpus/statsCorpus.pl b/outils/stats-corpus/statsCorpus.pl index 5a606ca..7e27b71 100755 --- a/outils/stats-corpus/statsCorpus.pl +++ b/outils/stats-corpus/statsCorpus.pl @@ -19,8 +19,8 @@ my ($programme) = $0 =~ m|^(?:.*/)?(.+)|; my $substitut = " " x length($programme); -my $version = "2.0.2"; -my $dateModif = "5 Avril 2018"; +my $version = "2.1.0"; +my $dateModif = "7 Avril 2018"; # Variables my $aide = 0; @@ -203,7 +203,24 @@ if ( $logfile ) { # Lecture du fichier “.corpus” ... - open(TAB, "<:utf8", $corpus) or die "$!,"; + if ( not -f $corpus ) { + print STDERR "Erreur : fichier \"$corpus\" absent\n"; + exit 14; + } + elsif ( $corpus =~ /\.g?[zZ]\z/ ) { + open(TAB, "gzip -cd $corpus |") or + die "Erreur : Impossible d'ouvrir \"$corpus\" : $!,"; + binmode(TAB, ":utf8"); + } + elsif ( $corpus =~ /\.bz2\z/ ) { + open(TAB, "bzip2 -cd $corpus |") or + die "Erreur : Impossible d'ouvrir \"$corpus\" : $!,"; + binmode(TAB, ":utf8"); + } + else { + open(TAB, "<:utf8", $corpus) or + die "Erreur : Impossible d'ouvrir \"$corpus\" : $!,"; + } while() { if ( /^(ark|id) /o ) { chomp; @@ -218,7 +235,24 @@ close TAB; # ... avant la lecture du fichier “logRequete” - open(INP, "<:raw", $logfile) or die "$!,"; + if ( not -f $logfile ) { + print STDERR "Erreur : fichier \"$logfile\" absent\n"; + exit 14; + } + elsif ( $logfile =~ /\.g?[zZ]\z/ ) { + open(INP, "gzip -cd $logfile |") or + die "Erreur : Impossible d'ouvrir \"$logfile\" : $!,"; + binmode(INP, ":raw"); + } + elsif ( $logfile =~ /\.bz2\z/ ) { + open(INP, "bzip2 -cd $logfile |") or + die "Erreur : Impossible d'ouvrir \"$logfile\" : $!,"; + binmode(INP, ":raw"); + } + else { + open(INP, "<:raw", $logfile) or + die "Erreur : Impossible d'ouvrir \"$logfile\" : $!,"; + } while() { if ( /^# (\w+_?\d+)/ ) { $racine = $1; @@ -515,7 +549,7 @@ if ( @names ) { if ( $#names > 0 and $xtended eq 'lodex' ) { for ( my $n = 0 ; $n <= $#names ; $n ++ ) { - my $tmp = join(", ", sort {$a <=> $b} keys %{$lien{$n + 1}}); + my $tmp = join(",", sort {$a <=> $b} keys %{$lien{$n + 1}}); if ( $tmp ) { $names[$n] .= " $tmp"; }