diff --git a/public/IRC3sp.pl b/public/IRC3sp.pl index 9b1b417..c9cf142 100755 --- a/public/IRC3sp.pl +++ b/public/IRC3sp.pl @@ -24,8 +24,8 @@ " $programme -t table -p FIFO [ -l log ] [ -cw ]\n" . " $programme -h\n\n"; -my $version = "4.4.1"; -my $dateModif = "29 Août 2022"; +my $version = "4.5.1"; +my $dateModif = "31 Août 2022"; my @table = (); my %genre = (); @@ -95,7 +95,7 @@ print " -r indique le répertoire contenant les fichiers textes à traiter \n"; print " -s indique le nom du fichier où sera écrit le résultat du traitement \n"; print " -t indique le nom du fichier contenant la ressource, c'est-à-dire la liste \n"; - print " des termes à rechercher \n\n"; + print " des termes à rechercher \n"; print " -w indique que le programme est utilisé par un “webservice” qui modifie le fichier \n"; print " envoyé en ne gardant que les objets JSON \n\n"; print "Ressource : \n"; @@ -283,10 +283,16 @@ $sortie = undef; if ( $ws ) { $json = '[' . join(",", @json) . ']'; + @json = passe1($json); + foreach $json (@json) { + print OUT "$json\n"; + } @json = (); } - ($json, $retour) = passe1($json); - print OUT $json; + else { + ($json, $retour) = passe1($json); + print OUT $json; + } close OUT; $json = undef; } @@ -515,7 +521,12 @@ $@ =~ s/"/\\"/go; $@ =~ s/[\r\n]//go; $@ =~ s/at $0 .+//go; - return("[{\"message\": \"erreur de conversion des données JSON vers Perl.\", \"explication\": \"$@\"}]\n", 4); + if ( $ws ) { + return("{\"message\": \"erreur de conversion des données JSON vers Perl.\", \"explication\": \"$@\"}\n"); + } + else { + return("[{\"message\": \"erreur de conversion des données JSON vers Perl.\", \"explication\": \"$@\"}]\n", 4); + } } if ( ref($perl) eq 'ARRAY' ) { @input = @{$perl}; @@ -607,7 +618,16 @@ $tmp .= " }"; push(@tmp, $tmp); } -return ("[\n" . join(",\n", @tmp) . "\n]\n", 0); +if ( $ws ) { + foreach my $item (@tmp) { + $item =~ s/^ *//o; + $item =~ s/\n *//go; + } + return @tmp; + } +else { + return ("[\n" . join(",\n", @tmp) . "\n]\n", 0); + } } sub passe2