in reply to Re: Re: Re: Re: storing all type of vars
in thread storing all type of vars

Didn't mean to make you feel foolish :)

I think that storing references is actually far more flexible as references know what kind of variable they're references to.

And because most Perl objects are implemented as references, you can even push objects onto your stack without too much extra work.

This means you can do stuff like this:

my @stack; push @stack, [ 1 .. 10 ]; # an array push @stack, { one => 1, two => 2 }; # a hash push @stack, 'a scalar'; push @stack, Some::Object->new; my ($scalar, @array, %hash, $obj); while (my $x = pop @stack) { if (my $type = ref $x) { if ($type eq 'ARRAY') { @array = @$x; } elsif ($type eq 'HASH') { %hash = %$x; } else { $obj = $x; } } else { $scalar = $x; } }
--
<http://www.dave.org.uk>

Perl Training in the UK <http://www.iterative-software.com>