It could also be that XML::Simple is just that -- simple... Looking at http://search.cpan.org/~grantm/XML-Simple-2.20/lib/XML/Simple.pm, it says:
The use of this module in new code is discouraged. Other modules are available which provide more straightforward and consistent interfaces. In particular, XML::LibXML is highly recommended. So perhaps we should just ignore my report. :-) On Nov 19, 2012, at 2:59 PM, Brice Goglin wrote: > Looks related to these warnings: > > Warning: <object> element has non-unique value in 'name' key attribute: Intel > Corporation I350 Gigabit Network Connection at ./topo.pl line 16 > Warning: <object> element has non-unique value in 'name' key attribute: Intel > Corporation I350 Gigabit Network Connection at ./topo.pl line 16 > Warning: <object> element has non-unique value in 'name' key attribute: Intel > Corporation I350 Gigabit Network Connection at ./topo.pl line 16 > Warning: <object> element has non-unique value in 'name' key attribute: Cisco > Systems Inc VIC PCIe Downstream Port at ./topo.pl line 16 > > > If I replace name=... with foo=... in the XML, those go away and all your eth > interfaces come back. So it looks like there may be something special with > the "name" attribute of XML objects. What's strange is that it seems to only > happen when two children have the same "name" XML attribute. We have quite a > lot of same "name" attributes, but not always in sibling XML objects. > > I am trying to find out whether we misrespect the XML specs, but I couldn't > so far. Maybe it's a XML::Simple problem? libxml2 and xmllint never > complained like this. > > Brice > > > > > Le 19/11/2012 19:01, Jeff Squyres a écrit : >> Odd. On the SVN trunk, I'm running this code: >> >> ----- >> open (LSTOPO, "lstopo -.xml|") || die "Can't open lstopo"; >> >> my $lstopo; >> >> while (<LSTOPO>) { >> >> $lstopo .= $_; >> >> print "Read: $_"; >> >> } >> >> close(LSTOPO); >> >> >> >> my $xml; >> >> $xml = XMLin($lstopo); >> >> print Dumper($xml); >> ----- >> >> In looking at the output, I see that lstopo's XML output includes all PCI >> devices, but when I look at the Dumper output of the parsed XML, some PCI >> devices are not listed. In particular: both eth4 and eth5 are included in >> the "lstopo -.xml" output, but eth4 is not included in the Dumper output. >> >> The same thing happens if I "lstopo foo.xml" and then "XMLin("foo.xml")". >> So it's not a problem with perl reading from lstopo's stdout. >> >> I've attached foo.xml -- any ideas why this is happening? >> >> >> >> >> _______________________________________________ >> hwloc-devel mailing list >> >> hwloc-de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel > > _______________________________________________ > hwloc-devel mailing list > hwloc-de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/