use Storable; my %spreadsheet_data; if ( -f $storage_file_name ) { %spreadsheet_data = %{ retrieve( $storage_file_name ) }; } else { # read in all of your data into %spreadsheet_data store \%spreadsheet_data, $storage_file_name; }