Jess Balint wrote at Wed, 05 Jun 2002 19:19:15 +0200:
> Hello all. I have trying to push a value onto the end of a two-dimension array. Here
>is my code.
>
> if( /\s+--\s+COLS\.\s+(\d+)\s+-\s+(\d+)\s+--/ ) {
> push( @{questionpos[$questionno]}, $1 );
> push @questionlength[$questionno], ( $2 - $1
> + 1 );
> } elsif( /\s+--COL\.\s+(\d+)\s+--/ ) {
> push @questionpos[$questionno], $1;
> push @questionlength[$questionno], 1;
> }
> print "Match column definition
> \@$questionpos[$questionno][$#questionpos[$questionno]]\n" if( $d == 1 );
> ...
push @{$questionpos[$questionno]}, $1
is an example how it should work for you.
In general @array[$index1] is equal to ($array[$index1]),
when it's a little crazy, think that
@array[0,2,4,6] makes really sense.
BTW, you're source code seems to be hard to read.
Especially there are some things double what is a real crime :-)
Try something like:
if (/\s+ -- \s+ COLS \. \s+ (\d+) \s+ -
(?: (\d+) \s+ -- | -)
/x)
{
push @{$pos[$no]}, $1;
push @{$length[$no]}, ($2 ? ($2 - $1) : 1);
}
Best Wishes,
Janek
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]