Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Dynamic Hash value

by BrowserUk (Patriarch)
on Apr 21, 2010 at 07:54 UTC ( [id://835984]=note: print w/replies, xml ) Need Help??


in reply to Dynamic Hash value

You can achieve this using tie on the hash entries you wish to be dynamic:

#! perl -slw use strict; use Data::Dump qw[ pp ]; { package Tie::Scalar::Dynamic; sub TIESCALAR { my( $class, $coderef ) = @_; return bless $coderef, $class; } sub FETCH { my $this = shift; return $this->(); } sub STORE { die 'This tied variable is readonly'; } } my( $ini, $last ) = ( 4, 2 ); my %result = ( SAS1 => 0, SAS2 => 0, SAS3 => 0, ); tie $result{ SAS1 }, 'Tie::Scalar::Dynamic', sub{ $ini - $last }; tie $result{ SAS2 }, 'Tie::Scalar::Dynamic', sub{ $last - $ini }; tie $result{ SAS3 }, 'Tie::Scalar::Dynamic', sub{ $ini - $last }; pp \%result; ( $ini, $last ) = ( 123, -456 ); pp \%result; __END__ c:\test>835979.pl { SAS1 => 2, SAS2 => -2, SAS3 => 2 } { SAS1 => 579, SAS2 => -579, SAS3 => 579 }

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (9)
As of 2024-03-28 10:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found