in reply to strange "for " statement

It looks like this for-statement is working recursively down a array-of-arrays-of-arrays-... type thing.. Thus there is no way to turn it into a 'traditional' 0->N for-loop.

I could turn it into a while statement for you, maybe that helps:

my $L = $tabs->[10]; while ($L) # ie, as long as $L has a value { $m->[ $L->[1] ] = $L->[2]; # assign the 3rd value referenced b +y $L to the arrayref $m # (indexing with the 2nd value refe +renced by $L) $L = $L->[0]; # assign $L the first value of the +arrayref its referencing # (or undef if not available) }
No idea how C# would do this though..

C.