Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: return Both ARRAY and SCALAR

by jhourcle (Prior)
on May 01, 2009 at 13:25 UTC ( #761287=note: print w/replies, xml ) Need Help??

in reply to return Both ARRAY and SCALAR

You wouldn't have gotten that behaviour if you had 'use strict'.

You're not actually overloading, what's happening is that you're assigning to an array based on the name of the variable:

sub XX{ my $x = 'one'; #scalar value push(@{$x}, 'two'); # push(@one, 'two') push(@{$x}, 'three'); # push(@one, 'three') return $x; }

Once it's in a module, '@one' is out of scope. If you really want this exact behaviour, you're likely going to need to look into a tied array that stringifies to your 'scalar' value.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://761287]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (4)
As of 2017-11-19 10:49 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (279 votes). Check out past polls.