On Sunday, May 12, 2002, at 08:12 , Jonathan E. Paton wrote:
first a quick clarification my posting after your original note, sorry we were in flight concurrently, I suck, You RULE! and MAJOR points on the explanation of the delta in the methods. >> may I recommend that you start with trying say: >> >> $hash{1} = [@array1]; >> >> or >> my %hash = ( >> 1 => [@array1], >> 2 => [@array2], >> ); Thanks for calling out the distinction... I normally only do the 'box the array' if I want to toss it back, say from a sub function... I think I am coming to find the deferencing tricks simply cooler and easier to cope with. > Be aware there is a difference between: > > [@array1] > > and: > > \@array > > because the former flattens the array, and then takes a > reference to a NEW array. This can be useful, but be > careful if you think that's enough to clone the array... > it's not. E.g. > > my $array = [["test", "elements"], "third"]; > > print $array[0][0]; > $array[0][0] = "retest"; > print $array[0][0]; > > Almost always you want to store a reference to the original > array, it will be quicker. Just be VERY careful when > modifying these complex datastructures in Perl, you might > change more than you realise (actually, this occurs in most > languages). No modification to a data structure ever goes unpunished! ciao drieux --- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]