[Madrid-pm] Crear listados desde una BD

Jose Luis Perez Diez jluis en escomposlinux.org
Jue Jul 10 02:42:30 PDT 2008


El Thursday, 10 de July de 2008 09:38:56 PEGG va escriure:
> Imprime: Use of uninitialized value in concatenation (.) or string at ...
> Ya le añadí el warnings.
Si quieres usar ese enfoque, Yo creo que esta versión es mas legible  

jpddb en debian:~$ perl test.pl
#!/usr/bin/perl

use strict;
use warnings;

system "cat $0";#Saca todo al terminal

my @resultados = (
    [ 1 , 'ESP' ],
    [ 1 , 'USA' ],
    [ 1 , 'ITA' ],
    [ 2 , 'JPN' ],
    [ 2 , 'RUS' ],
    [ 3 , 'VEN' ],
    [ 1 , 'CAN' ],#para justificar el primer bucle lista desordenada
);

# Leemos y hacemos la estadística
my %resultados;
foreach my $resultado ( @resultados ) {
    push @{$resultados{ ${$resultado}[0]}}, ${$resultado}[1];
}

# Sacamos las combinaciones
foreach my $grupo (values %resultados) {
    while (my $origen = shift @{$grupo}){
           print "$origen - $_\n" for @{$grupo};
    }
}
##### Salida #####ESP - USA
ESP - ITA
ESP - CAN
USA - ITA
USA - CAN
ITA - CAN
JPN - RUS
jpddb en debian:~$       

probada en 
This is perl, v5.8.8 built for i486-linux-gnu-thread-multi
This is perl, v5.10.0 built for i686-linux
This is perl, v5.8.8 built for arm-linux-gnueabi


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