in reply to Gracefull completion..

The version you have posted in your scratchpad has a few problems with it:

2 compile errors:
First, sub user does not have a closing brace.
Second, your open statement in sub recordswrite does not have a comma:
you have:
open (PASSWD "+</.stickum.txt");
you should have:
open (PASSWD, "+</.stickum.txt");

furthermore, the mode in which you are opening the file will not work unless the file already exists. The mode you are using will NOT create a file if it does not exist.
you have:
"+</.stickum.txt"
you might want to try
"+>>/.stickum.txt"
That will open the file if it exists (without clobbering it) or create it if it doesn't exist. That way you can write to it.

finally, in recordswrite you are asking for input, but you are not getting it.
you have:
print "What is the new passord?\n"; feistal($password);
you should have:
print "What is the new passord?\n"; $password = <STDIN>; feistal($password);
Finally, a way to exit gracefully: rewrite sub user
instead of:
sub user{ print "Account name:\n"; while (<>){ $username=$_; chomp $username; &query; } } #corrected comile error
try this:
sub user{ print "Account name: "; $username = <STDIN>; while ($username == ""){ print "Account name: "; $username = <STDIN>; } &query }

hope this helps,
davidj