I began a similar thread on this topic, but this seems more to be a fundamental lack of understanding of arrays in Perl. It has me more than scratching my head. I've read through the perldocs and am missing something.
I've never pretended to be a great Perl programmer, but I really shouldn't be falling down on points like this. After 6 or 7 years of this, you'd think I'd actually know something. Maybe I should take up singing in a punk band.
Could someone direct me to documentation that will help me understand how to solve the following ...
The code:
#!/usr/bin/perl -w
use XML::Simple;
# qw(:strict);
my $ref = XMLin("xmlTest3.xml", forcearray=>1, keyattr=>{wrapper=>"nam
+e"});
my $wrapName = "testName 1.0.3";
print "$ref->{wrapper}->{$wrapName}->{script}\n";
print "$ref->{wrapper}->{$wrapName}->{envVar}->[0]->{value}\n";
# How do I enumerate the contents of the tags such as envVar and parm?
# The following only gives me an address to the array.
foreach my $pName ($ref->{wrapper}->{$wrapName}->{envVar}) {
print $pName;
}
The data:
<config>
<wrapper name="testName 1.0.3" script="/usr/people/ltorvalds/wrapp
+er.pl" app="/usr/bin/testApp.exe">
<envVar name="TMPDIR" value="/usr/tmp"/>
<envVar name="TEMPDIR" value="/usr/tmp"/>
<parm name="pad" value="4"/>
<parm name="me" value="0"/>
<parm name="mf" value="0"/>
<parm name="s" value="\$startFrame"/>
<parm name="e" value="\$endFrame"/>
<parm name="b" value="\$byFrame"/>
<parm name="im" value="\$cacheDir\$qmJob.\$suffix"/>
<parm name="of" value="\$fileExt"/>
</wrapper>
<wrapper name="testName2" script="/usr/people/wgates/wrapper2.pl"
+engine="/usr/bin/testApp2.exe">
<envVar name="MAYA_LOCATION" value="\$appPath"/>
<envVar name="MAYA_SCRIPT_PATH" value="/data/render_common/scr
+ipts"/>
<envVar name="TMPDIR" value="/usr/tmp"/>
<envVar name="TEMPDIR" value="/usr/tmp"/>
<parm name="pad" value="4"/>
<parm name="me" value="0"/>
<parm name="mf" value="0"/>
<parm name="s" value="\$startFrame"/>
<parm name="e" value="\$endFrame"/>
<parm name="b" value="\$byFrame"/>
<parm name="im" value="\$cacheDir\$qmJob.\$suffix"/>
<parm name="of" value="\$fileExt"/>
</wrapper>
</config>
Thanks for any input.