Using perl Syntax Highlighting
- #obtengo los resultados de mi base de datos, la estructura de datos que obtengo es la siguiente :
- # $VAR1 = {
- # 'codigos' => '7',
- # 'nombre_pais' => 'RUSIA FED. - RESTO',
- # 'rango_fin' => 7699999999,
- # 'id_pais' => 'RUS000',
- # 'rango_inicio' => 7800000000
- # };
- $dataSet = $db->prepare($sql);
- $dataSet->execute;
- my @rangos = @{$db->selectall_arrayref($sql,{ Slice => {} } ) };
- my $i = 0;
- my @rangosTmp ;
- while ($i <= $#rangos ){
- @rangosTmp = @{ procesarRangoContenedor(\@rangosTmp,$rangos[$i])};
- $i++;
- }
- #print Dumper @rangosTmp;
- sub procesarRangoContenedor
- {
- my @rangosBuscar = @{ $_[0] };
- my $rangoCompara = $_[1];
- local $j = 0;
- while ($j <= $#rangosBuscarTmp){
- if( $rangoCompara->{rango_inicio} > $rangosBuscar[$j]->{rango_inicio} && $rangoCompara->{rango_inicio} < $rangosBuscar[$j]->{rango_fin} ){
- #aui mi problema con las referencias
- my $rangoResto = $rangosBuscar[$j];
- #modifica $rangosBuscar tambien!!! ;S
- $rangoResto->{rango_inicio} = $rangoCompara->{rango_fin} + 1;
- # rango fin contenedor = rango inicio contenido - 1
- $rangosBuscar[$j]->{rango_fin} = $rangoCompara->{rango_inicio} - 1;
- print Dumper $rangosBuscar[$j];
- print Dumper $rangoResto;
- print Dumper $rangoCompara;
- push(@rangosBuscar,$rangoCompara);
- push(@rangosBuscar,$rangoResto);
- #print Dumper @rangosBuscar;
- die;
- return (\@rangosBuscar);
- }
- $j++;
- }
- push(@rangosBuscar,$rangoCompara);
- return (\@rangosBuscar);
- # my @registros
- }
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
Bueno, básicamente ese es mi tema. Lo que trato de hacer es simular una tabla virtual que voy a ir modificando (agrandando también) acorde a los registros que obtengo de la base de datos. Una vez finalizada la tabla la voy a insertar en mi base de datos. Pero cuando quiero copiar un registro de esa tabla virtual para poder trabajar con él y agregarlo tengo el problema de las referencias, que no sé cómo solucionarlo.
Espero alguien me tire un salvavidas
¡Muchas gracias!