Tengo el siguiente problema, tengo varios datos, como por ejemplo:
Using text Syntax Highlighting
Nombre Año Sexo Dirección Ciudad
Juan Tapia 1980 VAR Siena Los Angeles
Miguel Ruiz 1970 VAR (No Tiene) Los Angeles
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Como ven en la fila número 2, el campo de dirección queda en blanco, al usar mi código en perl y pasarlo a un cvs, queda de la siguiente manera.
Using text Syntax Highlighting
Nombre Año Sexo Direccion Ciudad
Juan Tapia 1980 VAR Siena Los Ángeles
Miguel Ruiz 1970 VAR Los Ángeles (Queda En Blanco)
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Lo cuál no es verdad ya que el campo dirección debería quedar vacío y el campo ciudad debería tener
Los Ángeles. Adjunto código.
Using perl Syntax Highlighting
use CAM::PDF; use CAM::PDF::PageText; # necesario
use Encode; use LWP::UserAgent;
use LWP::Simple; use strict; use warnings;
## Archivos a un Array
opendir (PATH, ".") or die "$!";
my @archivos = grep {/.*?\.pdf/} readdir PATH;
close PATH;
open FILE, ">servel.csv" or die "error";
foreach my $archivo (@archivos) {
my $pdf = CAM::PDF->new($archivo); # abre el pdf
my $num = $pdf->numPages(); # numero de páginas del pdf
for(my $x=1;$x<=$num;$x++) { # recorre páginas
my $page_txt = $pdf->getPageText($x); # lee la página
while($page_txt =~ m/\n\D{0,25}\s\D{0,25}\s{0,25}\s{0,25}\n(\d\d|\d).\d\d\d.\d\d\d-(\d|\S)\n\w{0,3}\n.*\n.*/g){ # saca la info
my @t = split /\n/, $&; # splitea la info
my $out = encode("ISO-8859-15", $t[1].",".$t[2].",".$t[3].",".$t[4].",".$t[5]); # encodea y ordena la info en csv
print $out."\n"; # imprime la info
print FILE $out."\n";
}
}
}
close FILE;
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4