James, (et.al.)

        see comments below.

-----Original Message-----
From: James Edward Gray II [mailto:[EMAIL PROTECTED]]
Sent: Thursday, October 10, 2002 3:36 PM
To: Diethorn, Robert - MBDC
Cc: '[EMAIL PROTECTED]'
Subject: Re: Newbie - reading from files in nested while loops


On Thursday, October 10, 2002, at 02:28  PM, Diethorn, Robert - MBDC 
wrote:

>
>       Ding!

Progress is good.  Don't worry, we'll get it there, eventually.

>
>       Many thanks James. I was so fixated on the second loop I failed to
> see that the undef really occurred in the return to the first.
>       Unfortunately, I think I need to retain the second loop. I need to
> process the file $schemafile one line at a time, as every line of that 
> file
> contains exactly one XML tag. Most of the "work" in the script is 
> actually
> accomplished by the statement $newelement =~ s/>a/>$data[$count]/;  --
> within that second loop.

Okay, help me understand a little better then.  Are we going to process 
every line in SCHEMAIN for every line in DATAIN?  This would make the 
output contain x copies of the entire SCHEMAIN file, where x is the 
number of lines in DATAIN.  That what your aiming for?


....exactly. Every line in DATAIN is a discrete record from my DB. Each line
in SCHEMAIN is an XML tag, and I'm attempting to merge the two to create an
XML file. I think I can show it best graphically:

DATAIN: (~ is the field separator)

xxx~yyy~zzz
aaa~bbb~ccc
etc.

SCHEMAIN:

<tag>a</tag>
<tag2>a</tag2>
<tag3>a</tag3>
etc.

Output:

<tag>xxx</tag>
<tag2>yyy</tag2>
<tag3>zzz</tag3>

<tag>aaa</tag>
<tag2>bbb</tag2>
<tag3>ccc</tag3>

etc.

        By the way, I did also try slurping the entire first file (DATAIN)
into a multi-dimensional array and then parsing with a for loop around the
second while loop, but had no luck with that either.



>       Is there any was I can set a marker for $_ in the original while
> loop to avoid the undef and return to process the next line? Or am I 
> stuck
> with slurping the first file into an array in its entirety and 
> processing
> only the second file with a loop?

You can, but I don't think this is needed.  Let me see what your above 
answer is first, before we go here.

James


Rob

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

Reply via email to