On Sat, 2002-04-27 at 12:14, drieux wrote:
>
> On Friday, April 26, 2002, at 03:49 , Shaun Fryer wrote:
> [..]
> >
> > foreach $value (@array) {
> > $scalar_array .= "$value|";
> > }
> > chop($scalar_array);
> > my %hash;
> > $hash{some_key} = $scalar_array;
> >
> > Then if you want to get the array from the key's value later
> > on, you just split(/\|/,"$hash{some_key}"). I typically do this when
> > writing berkley db's which need to have variable length arrays as the
> > values of a list of keys. You'll have to pick a delimiter that won't
> > exist within $value.
>
> well played!
TMTOWTDI:
my @array = qw(first second last);
my %hash;
#the $" var controls what characters separate elements of
#an interpolated array
{ local $" = '|'; $hash{somekey} = "@array"; }
>
> Thought I would benchmark this against the more traditional
> 'join' strategy - and the two basic ways I use for passing
> around arrays in hashes...
>
> http://www.wetware.com/drieux/CS/lang/Perl/Beginners/BenchMarks/loopVjoin.
> txt
>
> This did give me the chance to look at the various ways that this
> could be done - and I shall leave it to others to resolve which
> variation on a theme would be more consistent with their code
> maintenance issues....
>
> but you might want to look at
>
> sub joinFunc {
> my $scalar_array = join('|',@array);
> $hash{$some_Other_key} = $scalar_array;
> my @new_array = split(/\|/, $hash{$some_Other_key});
> } # end of joinFunc
>
> as a slightly more efficient strategy....
>
> ciao
> drieux
>
> ---
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Today is Prickle-Prickle the 46th day of Discord in the YOLD 3168
Missile Address: 33:48:3.521N 84:23:34.786W
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]