use strict; my $persistentVar = $defaultvalue; if( -e $persistentStateFile ) { open FH, $persistentStateFile or die "Failed to open '$persistentStateFile': $!"; local $/, $@; my $ps = ; eval $ps; die $@ if $@; } END{ open FH, "> $persistentStateFile" or warn "Failed to open '$persistentStateFile': $!" and exit(1); print FH Data::Dumper->Dump( [$refToPersistentVar], ['nameofpersistentvar'] ) or warn "Failed to print persistent data, $!" and exit(1); close FH or warn "Failed to close $persistentStateFile, $!" and exit(1); }