• Publicidad

Explicación de esta estructura

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Explicación de esta estructura

Notapor danimera » 2008-07-29 08:18 @387

Tengo esta estructura

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$xml = {
      'fuente' => [
                    {
                      '1' => ['dato1'],
                      '2' => ['dato2'],
                      '3' => ['dato3'],
                      '4' => ['dato4']
                    }
                  ]
    };
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿En qué se diferencia de esta otra?
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$xml{'fuente'}[0] =
                    {
                      '1' => ['dato1'],
                      '2' => ['dato2'],
                      '3' => ['dato3'],
                      '4' => ['dato4']
                    }
                  ;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Lo que deseo es a la primera estructura poder agregarle datos de algunas forma con push o algo así dinámicamente y pasarle esta estructura:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$file = {
                      '1' => ["nuevo1"],
                      '2' => ["nuevo2"],
                      '3' => ['nuevo3'],
                      '4' => ['nuevo4']
                    };
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


para que me quede algo como esto en aumento:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$xml = {
      'fuente' => [
                    {
                      '1' => ['dato1'],
                      '2' => ['dato2'],
                      '3' => ['dato3'],
                      '4' => ['dato4']
                    }
                  ], [
                      '1' => ["nuevo1"],
                      '2' => ["nuevo2"],
                      '3' => ['nuevo3'],
                      '4' => ['nuevo4']
]

    };
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Bueno si tengo algo mal ahí, me corrigen; es que me está complicando mucho esa aplicación y esto es para pasarlo al XML::Simple.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Notapor explorer » 2008-07-29 09:11 @424

En la primera, $xml contiene una referencia a la estructura, mientras que en la segunda, estamos hablando de %xml (un hash).

Tienes un error en el último esquema: fíjate que 'fuente' contiene dos array anónimos separados por una coma. Un valor de un hash solo es un escalar.

Yo creo que quieres decir
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$xml = {
    'fuente' => [
                    {
                      '1' => ['dato1'],
                      '2' => ['dato2'],
                      '3' => ['dato3'],
                      '4' => ['dato4']
                    },
                    {
                      '1' => ["nuevo1"],
                      '2' => ["nuevo2"],
                      '3' => ['nuevo3'],
                      '4' => ['nuevo4']
                    },
    ],
};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
es decir, 'fuente' contiene un array, cuyos componentes son hash.

Con el siguiente programa, lo tienes:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;


my $file = {
    '1' => ["nuevo1"],
    '2' => ["nuevo2"],
    '3' => ['nuevo3'],
    '4' => ['nuevo4']
};

my $xml = {
    'fuente' => [
                    {
                        '1' => ['dato1'],
                        '2' => ['dato2'],
                        '3' => ['dato3'],
                        '4' => ['dato4']
                    }
                ]
};

push @{$xml->{fuente}}, $file;

use Data::Dumper;
print Dumper($xml);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 19 invitados