As discussed in the CB, you'll need to store the contents outside of RAM, such as a file. The following code will bootstrap the file if necessary and query the user for feelings and how they feel. It uses FreezeThaw to store persistent data.
#!/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;
I did not include error checking and i opted to use a hash instead of an array. Hope this helps!
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
In reply to Re: Write an user answer inside an array
by jeffa
in thread Write an user answer inside an array
by Eth443
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |