#! /usr/bin/perl use strict; use warnings ; package Remember; use strict; use warnings; use IO::File; sub TIESCALAR { my $class = shift; my $filename = shift; my $handle = new IO::File "> $filename" or die "Cannot open $filename: $!\n"; print $handle "The Start\n"; bless {FH => $handle, Value => 0}, $class; } sub FETCH { my $self = shift; return $self->{Value}; } sub STORE { my $self = shift; my $value = shift; my $handle = $self->{FH}; print $handle "$value\n"; $self->{Value} = $value; } sub DESTROY { my $self = shift; my $handle = $self->{FH}; print $handle "The End\n"; close $handle; } package main; my $fred; tie $fred, 'Remember', 'myfile.txt'; $fred = 1; $fred = 4; $fred = 5; untie $fred; system "cat myfile.txt";