i would like to extract some string from XML file. my XML file as below:-
<PartNumber name="750">
    <SubComponent name="FPGA">
        <SubComponentItem name="0" device_name="golden" desc="GPCAM FPGA Golden Image" rev="0x002a0023" type="FPGA_T6E_PIC" cache="yes" />
        <SubComponentItem name="1" device_name="user"   desc="GPCAM FPGA User Image"   rev="0x002a0023" type="FPGA_T6E_PIC" cache="yes" />
    </SubComponent>
    <SubComponent name="LTC">
        <SubComponentItem name="0" desc="ltc3880-1.0v-0" rev="0x0003" type="PMBUS_T6E_QSFP28" device_name="ltc3880-1.0v" index="0xb4" />
        <SubComponentItem name="1" desc="ltc3880-3.3v"   rev="0x0003" type="PMBUS_T6E_QSFP28" device_name="ltc3880-3.3v" index="0xb4" />
    </SubComponent>
    <SubComponent name="EEPROM">
        <SubComponentItem name="0"  desc="BCM8238X Retimer 0 ver"       device_name="SLOT_NUMBER/%SLOT_NUMBER/0"  rev="D00E"      type="BCM8238X_EEPROM" cache="yes" />
        <SubComponentItem name="1"  desc="BCM8238X Retimer 0 checksum"  device_name="SLOT_NUMBER/%SLOT_NUMBER/0"  checksum="600D" type="BCM8238X_EEPROM" cache="yes" />
        <SubComponentItem name="2"  desc="BCM8238X Retimer 1 ver"       device_name="SLOT_NUMBER/%SLOT_NUMBER/0"  rev="D00E"      type="BCM8238X_EEPROM" cache="yes" />
        <SubComponentItem name="3"  desc="BCM8238X Retimer 1 checksum"  device_name="SLOT_NUMBER/%SLOT_NUMBER/0"  checksum="600D" type="BCM8238X_EEPROM" cache="yes" />
    </SubComponent>
</PartNumber>
for example i want to extract the rev value in PartNumber name =750 and inside SubComponentItem name=FPGA. how can i extract it?and store it.
i had tried below code but still encountered some error, below is my code:-
  use strict;
  use warnings;
  use XML::Simple;
  use Data::Dumper;
  my $simple = XML::Simple->new();
  my $data = $simple->XMLin('/cy/programable/1ProgrammableRevision.xml');
  print Dumper($data) . "\n";
  print $data->{PartNumber}->{750}->{FPGA}->{0}->{rev}->[1];
for you information, my perl version 5.8.8, and XML::libxml or XML::Twig are not applicable.
 
     
    