J'ai sollicité ce site plus tôt cette semaine et a obtenu une bonne réponse pour un perl
Script si j'ai fait ce script à partir de ce que de comprendre les réponses
Mais maintenant, j'ai un bug, et je suis moignon. Il ne s'agit pas d'analyser correctement le
Sortie il reste sur la première ligne Mon $ f2 et les réimpressions en boucle sans fin
Je suis sûr qu'il existe de meilleures façons que cela. Mais c'est ce que je veux à résoudre
Dan
C'est le script
Code:
#!/usr/local/bin/perl -w
use strict;
die "Usage: $0 <file1> <file2> <file_out>\n" unless $#ARGV==2;
my ($file1, $file2, $file3) = @ARGV;
open my $f1_in, $file1 or die "Could not open $file1\n";
open my $f2_in, $file2 or die "Could not open $file2\n";
open(my $f3_out, '>', $file3) or die "Could not open $file3: $!\n";
while (my $f1 = <$f1_in>) {
my $f2 = <$f2_in>;
$f1 =~ s/^\s+|\s+$//g;
$f2 =~ s/^\s+|\s+$//g;
#$\ = "\n";
my $FS = '|';
$, = ',';
my $Fld0 = shift;
my $Fld1 = shift;
my $Fld2 = shift;
my $Fld3 = shift;
my $Fld4 = shift;
my $Fld5 = shift;
my $Fld6 = shift;
my $Fld7 = shift;
my $Fld8 = shift;
my $Fld9 = shift;
my $Fld10 = shift;
while ($f2){
($Fld0,$Fld1,$Fld2,$Fld3,$Fld4,$Fld5,$Fld6,$Fld7,$Fld8,$Fld9,$Fld10) = split(/[|\n]/,$f2, -1);
print $f3_out ($Fld0, $Fld1, $Fld2, $Fld3, $Fld4, $Fld10);
}
}