Hi, I am fairly new to perl, and have a few questions about a small
program I’m writing.  This program is reading from a text file that is
delimited by colons. Eg...
Field One:Field Two:Field Three:Field Four
I know the first couple of fields are specific and will always be there, but
after that, the number of fields per line will vary.  So to handle this I
used split like so...
($Q[$i], $numOfAns, $correct, @A) = split(/:/);
So that the first entry is put into a particular place in an array and the
next two in separate variables and then everything else in the A array. 
What I need to do next is print out some information in the array in order
with some other information, which I have working, but to do this I have to
use a control loop whose condition is
while($ansNum < $numOfAns)
where $ansNum starts at zero and is incremented until it is at
$numOfAns(from the split line above, it’s value should represent the number
of elements in @A). This all works, but I would like to improve it and make
it so that the user making the text file
doesn’t have to enter, $numOfAns, and that instead I could find out the size
of the @A array.

I think I could do this by looping and checking for a “” entry while
counting, but that could not work in the case when the file has a “::” in
it.  Another way I think I might be able to do this would be to append a
NULL entry on the end and loop/count to that(Is this the “undef” value in
perl, and if so what literal am I testing for).  Or maybe Perl has some neat
automatic counter I’m unaware of(as I am new to perl and am finding the
concepts of not needing to declare the size of
an array and not having to specify types rather odd(but nice to program
with).

Also, with that last point, what book/perldoc should I read if I want to
learn about some of the internals of Perl...like the memory structure of
variables/arrays and how they are dealt with
internally?  If they aren’t structurally dissimilar from C++’s then the
implementation in perl must be way different and I’d be interested in
learning about the advantages/drawbacks(overhead, etc.)

Thanks for any/all the help,

Bryce Tate


______________________________________________
FREE Personalized Email at Mail.com
Sign up at http://www.mail.com/?sr=signup

Reply via email to