#!/usr/bin/env perl use strict; use warnings; use File::Slurp; use FreezeThaw qw( freeze thaw ); my $DB_FILE = 'questions.frozen'; unless (-e $DB_FILE) { open FH, '>', $DB_FILE; close FH; } my $data; eval { ($data) = thaw( read_file( $DB_FILE ) ) }; $data = {} if $@; print "How do you feel?"; chomp( my $feeling = <> ); if ($data->{$feeling}) { print "$feeling is a $data->{$feeling} feeling\n"; } else { print "I don't know about $feeling, is it good or bad?"; chomp( my $answer = <> ); $data->{$feeling} = $answer; } open FH, '>', $DB_FILE; print FH freeze $data; close FH; ####