Ho sollecitato questo sito all'inizio di questa settimana ed ha ottenuto una buona risposta per un perl
Scritto così ho fatto questo script da quello che capito dalle risposte
Ma ora ho un problema e ho moncone. Non analizzare correttamente il
Uscita rimane sulla prima riga Il mio $ f2 e ristampe in un loop infinito
Sono sicuro che non ci sono modi migliori di questo. Ma questo è ciò che voglio per risolvere
Dan
Questo è lo script
Codice:
#!/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);
}
}