I must mix 3 files, and produce a little report but in line 23 and 31 is a
warning of uninitalized value I  really don't see  the mistake.

Thank you in advance




use warnings;
@lfile0 = <DATA>;
chomp @lfile0;
@meses = qw(ene feb mar abr may jun jul ago sep oct nov dic);
@files= glob "78*";
my %textos;
for (@files){
    open FILE,"<$_";
    $textos{$_}=[<FILE>];
    chomp @{$textos{$_}};
    s/.{5}// for @{$textos{$_}};
}
($day,$month,$year) = (localtime)[3..5];
$dec = $day /10;
$month++;
$dec = 3 if $dec < 1;
$year+=1900;
$file = sprintf "vcl%02d%02d%4d.txt",$day,$month,$year;
open FILEOUT, ">$file";
print FILEOUT "Resumen decadal \n" ;
printf FILEOUT "$meses[$month-1]/$year;#%d \n",$dec  ;
$form = "%13s" x @files ;
printf FILEOUT "%23s" . "$form\n",sort keys %textos ;
for $line (5..50){
    @str=();
    for (sort keys %textos){
        push @str,${$textos{$_}}[$line];
    }
    $form = "%13s" x @files ;
    $form = "%-10s".$form."\n";
    printf FILEOUT $form,$lfile0[$line-6],@str;
}
close FILEOUT;
__END__
1.A)
B)
C)
D)
E)
F)
2.A)
B)
C)
3.A)
4.A)
B)
C)
D)
5.A)
B)
C)



5.D)
6.A)
7.A)
8.A)
B)
C)
D)
9.A)
10.A)
B)
C)
11.A)
B)
C)
D)
E)
12.A)
B)
C)
D)
E)
F)


______________________

and example of the file to mix

_________ this is the top
Resumen decadal
78343 - Ene/2008;#2

 1.A)      tres
   B)      23.8
   C)   32.6-19
   D)   15.0-14
   E)      29.9
   F)      17.8
 2.A)   49.5-17-18
   B)   12.5-14
   C)      27.8
 3.A)      26.0
 4.A)       5.0
   B)   20.9-19
   C)    0.2-13
   D)      14.3
 5.A)     110.6
   B)  110.1-20
   C)         2
              1
              1
              1
 5.D)         8
 6.A)        10
 7.A)     41.75
 8.A)         E
   B)   12.8-16
   C)       8.9
   D)       1.4
 9.A)         X
10.A)         3
   B)         1
   C)         5
11.A)        81
   B)        54
   C)    100-13
   D)     33-19
   E)         5
12.A)         7
   B)         2
   C)         0
   D)         X
   E)         0
   F)         X




NNNN

_______________this is the bottom

Reply via email to