Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^4: Forcing to anonymous array in XML::simple

by rbi (Monk)
on Dec 15, 2006 at 09:33 UTC ( #590000=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Forcing to anonymous array in XML::simple
in thread Forcing to anonymous array in XML::simple

Thanks. I'm trying to cope in a general way with these situations:

use strict; use warnings; use XML::Simple;use Data::Dumper; my $file = './test.xml'; my $a = ['x','y']; my $a1 = [$a]; my %tmp = ( A =>$a1, B => 'z'); XMLout(\%tmp,outputfile=>$file,noattr=>1); %tmp = %{XMLin($file,forcearray=>['A'],noattr=>1)}; print "----------\n"; print $tmp{B}."\n"; print $tmp{A}[0]->[0]."\n"; $a = ['x']; $a1 = [$a]; %tmp = ( A =>$a1, B => 'z'); XMLout(\%tmp,outputfile=>$file,noattr=>1); %tmp = %{XMLin($file,forcearray=>1,noattr=>1)}; print "----------\n"; print $tmp{B}."\n"; print $tmp{A}[0]->[0]."\n"; $a = ['x']; $a1 = [$a]; %tmp = ( A =>$a1, B => 'z'); XMLout(\%tmp,outputfile=>$file,noattr=>1); %tmp = %{XMLin($file,forcearray=>['A'],noattr=>1)}; print "----------\n"; print $tmp{B}."\n"; print $tmp{A}[0]->[0]."\n";
That outputs:
---------- z x ---------- ARRAY(0x653930) x ---------- z Not an ARRAY reference at tmp1.pl line 31.
I can only think of evaluating ref($tmp{A}) and ref($tmp{B}) to decide how to operate, since in my code $tmp{A} is an array reference to an array that can have a single element made by an array reference to a single-element array itself, and $tmp{B} is instead a scalar. I guess I'm missing something...


Comment on Re^4: Forcing to anonymous array in XML::simple
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://590000]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2014-10-25 19:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (148 votes), past polls