[Pdx-pm] implicit hashref return gone awry

Austin Schutz tex at off.org
Mon Dec 5 16:57:45 PST 2005


On Mon, Dec 05, 2005 at 04:49:08PM -0800, Randall Hansen wrote:
> this isn't working the way i expect, which means i have an  
> opportunity for education :)
> 
>      sub four {
>          {
>              %{ one() },
>              label    => 'Bar',
>          };
>      }
> 
> i expected it to return a hashref, but it returns a list.  this  
> appears to be related to the de-referencing of &one, since other  
> similar situations do return a hashref.  full code below illustrates  
> what i mean.
> 

	It looks to me like perl is treating the {} inside sub four{} as
a code block instead of a hashref. I forget what the standard mechanism is
for forcing one vs. the other behavior. Probably something like enclosing
it in parens ({ stuff }).

	That's my guess :-)

	Austin


More information about the Pdx-pm-list mailing list