in reply to BOfH Random Excuse Generator
This was kinda cute, even though I don't completely
understand the deal with DUMMYMODE (in the BOFH mindset,
*all* users are dummies, so that should be a design
assumption rather than a switch :)). I do have
a few suggestions for you:
See also the informative nodes Death to Dot Star! and Do not use diamond for STDIN.
Here's a less-cluttered alternative to your while loop block:
Your regex has a little problem. It will match 'y' anywhere in the input, rather than at the beginning of the input string which I think is what you want. Use the ^ assertion to match at the beginning of the string. Also, if you have verified that the user has started his answer with 'y' you don't really need to check explicitly for the string 'yes'.while (<>) { if ($_ eq /yes/ or /y.*/) { print "\n$word1 $word2 $word3 $word4\n"; exit; } else { exit; } }
See also the informative nodes Death to Dot Star! and Do not use diamond for STDIN.
Here's a less-cluttered alternative to your while loop block:
or even:my $ans = <STDIN>; print "\n$word1 $word2 $word3 $word4\n" if ($ans =~ /^y/);
print "\n$word1 $word2 $word3 $word4\n" if (($ans = <STDIN>) =~ /^y/);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: BOfH Random Excuse Generator
by mexnix (Pilgrim) on May 27, 2001 at 08:45 UTC | |
by virtualsue (Vicar) on May 27, 2001 at 13:06 UTC |
In Section
Cool Uses for Perl