I don't understand why you have to save and reread the database because "a user is making a database entry but decides to change his mind". I would have guessed that you just have to reread the previously saved database in such a case.
Just as a reminder, there are excellent database moduls on CPAN, for example DBM::Deep. They are well tested and might spare you a lot of work.
Your immediate problem might be solved by putting the prompt in a subroutine with the escape checking. Parameters of the subroutine would a flag whether ESC is allowed and the parameters to prompt(). Return values are the return value of prompt() plus a boolean to show whether ESC was pressed. Inside this subroutine you could do the write_to_db
If you really want an interrupt thingy, that can be simulated with putting your code inside an eval and die'ing when someone hits ESC. This is sadly the meager substitute for exceptions/interrupts in perl5.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.