package Quaint; use strict; require Tie::Scalar; use Carp; use Quantum::Entanglement; sub TIESCALAR { my ( $pck, @distribution ) = @_; croak "No distribution given." unless @distribution; my $variable = entangle( @distribution ); my $state = $variable -> save_state(); return bless ( { "data" => $variable, "state" => $state }, $pck ); } sub FETCH { my $self = shift; my $variable = $self -> { "data" }; $self -> { "data" } = $self -> { "state" } -> restore_state(); return $variable; } sub STORE { my ( $self, $distref ) = @_; croak "No distribution given." unless ref $distref eq "ARRAY"; my $variable = entangle( @{ $distref } ); $self -> { "state" } = $variable -> save_state(); $self -> { "data" } = $variable; } 1; #### tie my $duration, "Quaint", ( 1 => "qn", 1 => "en", 2 => "sn", 4 => "den", 3 => "tsn" ); print $duration, "\n"; print $duration, "\n"; print $duration, "\n";