Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: How can one determine context within FETCH?

by clinton (Priest)
on Oct 01, 2007 at 13:13 UTC ( [id://641876]=note: print w/replies, xml ) Need Help??


in reply to How can one determine context within FETCH?

Just to make something clear, by trying to assess context in your tied hash, you are breaking a Perl idiom: that hash values are only ever scalars. That scalar may be a reference to something else, like an array or hash, but the hash value itself is only ever a scalar.

Consider this:

%fs = ( dir1 => [ 'file1','file2','file3' ], dir2 => [ 'file4','file5','file6' ], ); $contents = $fs{dir1}; $file = $fd{dir1}[0];

I would expect $contents to contain an array-ref, and $file to contain a scalar string. If I wanted an array returned instead, I would write:

@contents = @{$fs{dir1}};
which would still work with your code, because the @ converts the reference to a list, OUTSIDE the tied class. To do otherwise would, in my opinion, just add confusion: this works just like a hash, except when it doesn't...

Clint

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://641876]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-04-24 20:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found