There is a modeule XML::Parser ..something like this  which you can look into. 

You can also write  your code as 

open(XML, "x") || die("Cannot open file \n");
my $i = 1;
my %hash_try;
while(<XML>) {
 chomp;
 if (/test_number/) {
 /<(test_number)>(.*?)<\/(\1)>/;
  if (defined $2) {
     $hash_try{$i} = $2;
     $i++;
   }
 }
}
close(XML);




-----Original Message-----
From: Sugrue, Sean [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, September 25, 2002 1:06 PM
To: [EMAIL PROTECTED]
Cc: Sugrue, Sean
Subject: hash



I am trying to create a hash that takes an xml input from a file retrieves all
lines
that has the word test_number in it, splits it to retrieve the actual test
number and then
when the hash is populated "while" through it and print out the keys and values.
I don't really have a good grasp of how to create, populate and manipulate
hashes so 
I'm running into problems. Anyone have a suggestion?
Below is a sample of my code not yet finished and some 
of the text from the xml file.

#!/usr/local/bin/perl
$i=0;

print" trying open a file \n";
open(XML, "temp.xml") || die("Cannot open file \n");
while(<XML>)
{
        if($_=~/test_number/){
                @test_number=split/\<|>/,$_;
                $hash_try{$i}=$test_number[2];
                $i++;
                } 
}
close(XML);

while(($key,$value)=(%test)){
print"$key=>$value \n";}


XML file sample


<begin_program_seg>
<section_name>CONTINUITY_seq</section_name>
</begin_program_seg>

<functional_result>
<test_number>1</test_number>
<head_num>1</head_num>
<site_num>0</site_num>
<test_flags alarm='n' reliable_test='y' timeout='n' executed='y' aborted='n'
passed='y' ></test_flags>
<description><![CDATA[
+ dig opn/sht <> CONTINUITY_test
]]></description>
<patt_gen_num>0</patt_gen_num>
</functional_result>

<functional_result>
<test_number>2</test_number>
<head_num>1</head_num>
<site_num>0</site_num>
<test_flags alarm='n' reliable_test='y' timeout='n' executed='y' aborted='n'
passed='y' ></test_flags>
<description><![CDATA[
- dig opn/sht <> CONTINUITY_test
]]></description>
<patt_gen_num>0</patt_gen_num>
</functional_result>



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to