http://qs1969.pair.com?node_id=27226


in reply to mybooks.pl

A couple of fixes and a couple of suggestions. First, the mkdir thing has a precedence problem, as tye suggests. Use parenthesis or or to fix it:
mkdir("$dir", 0777) || die "Could not mkdir \"$dir\": $!\n";
Second, the chop bothers me, 'cuz it's easy to grab something you don't want. (In this case, it's right, but I prefer chomp).

Third, there are a couple of other ways for doing your menu stuff. Some people prefer this:

($menu eq 1) && addwant(); ($menu eq 2) && addhave();
When I have to do something like this, I usually use a data structure of references:
my @actions = qw( \&addwant \&addhave ); # and so forth # get input if (defined (my $action = $actions[$menu])) { $action->(); } else { print "\n\n\nGoodbye!\n"; exit; }
Finally, if you want to clear the screen, there's a bit in perlfaq8 that might help. Not a big deal, though.