aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-027/ruben-westerberg/perl5/ch-2.pl33
1 files changed, 33 insertions, 0 deletions
diff --git a/challenge-027/ruben-westerberg/perl5/ch-2.pl b/challenge-027/ruben-westerberg/perl5/ch-2.pl
new file mode 100755
index 0000000000..569388237f
--- /dev/null
+++ b/challenge-027/ruben-westerberg/perl5/ch-2.pl
@@ -0,0 +1,33 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+use Tie::Scalar;
+
+package myclass;
+sub TIESCALAR {
+ my $class=shift;
+ my $h=shift;
+ bless ({history=>$h}, $class);
+}
+
+sub FETCH {
+ my $self=shift;
+ my $h=$self->{history};
+ $h->[-1];
+}
+sub STORE {
+ my $self=shift;
+ my $value=shift;
+ push @{$self->{history}},$value;
+
+}
+
+package main;
+my $test;
+my @history;
+tie $test, 'myclass', \@history;
+$test=10;
+$test=1;
+$test=15;
+print "Current Value of variable: $test\n";
+print "Historical Values: @history\n";