On Thu, Jan 13, 2011 at 12:06:33AM -0700, Alex Hunsaker wrote: > > I had supposed that it would be possible to do the string conversion > > lazily, ie, only if the string value was actually demanded. > > Yep, In-fact if we wanted we could even die (or throw an exception in > other language speak :) ) when the string value is demanded.
I played with this a little and it is fairly easy to make a variable such that $a is the string representation and $a[0] the first value of the array. The problem is that you can't pass such a variable into a subroutine. I was thinking however, if the parameters if the function have names you can use, then you can make it work. $_[0] would still go the old way, but the named parameters could be the array. ====================== cut ====================== #!/usr/bin/perl -w use strict; no strict 'vars'; package MyClass; sub TIESCALAR { my $class = shift; my $self = shift; return bless $self, $class; } sub FETCH { my $self = shift; return join(",", @$self); } my @a=(1,2); tie $a, "MyClass", \@a; print "\$a='$a'\n"; print "\$a[0]='$a[0]'\n"; -- Martijn van Oosterhout <klep...@svana.org> http://svana.org/kleptog/ > Patriotism is when love of your own people comes first; nationalism, > when hate for people other than your own comes first. > - Charles de Gaulle
signature.asc
Description: Digital signature