[Madrid-pm] Duda con un parsing

PEGG preiddy en gmail.com
Sab Mar 14 03:36:59 PDT 2009


Claro, el problema es que mi fichero no es csv. ;)

Me gusta lo de los pasos, jajajjaa.
paso 1:
while (<>) {
    @campos = split( /:/, $_ );
    if ( $campos[0] =~ /^<RECORD/ ) {
    }
    elsif ( $campos[0] =~ /^(\w)+\s(\w)+/ ) {
        $hash{ $campos[0] }++;
        $orden{ $campos[0] } ||= $.;
    }
    elsif ( $campos[0] =~ /^(\w)+/ ) {
        $hash{ $campos[0] }++;
        $orden{ $campos[0] } ||= $.;
    }
    else {
    }
}
foreach ( sort { $orden{$a} <=> $orden{$b} } keys %orden ) {
    print "$_ = $hash{$_}\n";
}
Me dice el nombre del campo y su posición, con lo cual ahora solo puedo
tirar por la vía larga y hacer el paso 2 así:
if ( $_ =~ /^<RECORD/ ) {
        my $registro = $_;
        $registro =~ s/^<RECORD ([0-9]+)>/$1/;
        chop($registro);
        print "$registro\t";
    }
    elsif ( $_ =~ /^Accession number/ ) {
        my $acn = $_;
        $acn =~ s/^Accession number://;
        chop($acn);
        print "$acn\t";
    }
Luego solo es meterlo en una sola tabla en la BD, porque no se me ocurre aun
nada con los números de los autores. Pero sigo pensando que no es lo más
optimo, por eso me estaba leyendo lo de las librerías que antes mencione.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.pm.org/pipermail/madrid-pm/attachments/20090314/83471751/attachment.html>


Más información sobre la lista de distribución Madrid-pm