Gunnar Hjalmarsson wrote:
> Chas. Owens wrote:
>> On Fri, Feb 27, 2009 at 11:07, Gunnar Hjalmarsson <nore...@gunnar.cc> wrote:
>>> Sarsamkar, Paryushan wrote:
>>>> I would like to accept some user inputs (using <STDIN>), but it might be
>>>> easier for a user if I can provide the default value, so that they just
>>>> have to press ENTER.
>>>>
>>>> How can I do that? I've played around with <STDIN> but I cannot make it
>>>> work exactly as I'd like.
>>>>
>>>> E.g.
>>>> Do you want to do the normal thing? [yes] :
>>>    print 'Do you want to do the normal thing? [yes] : ';
>>>    chomp( my $normal = <STDIN> );
>>>    $normal ||= 'yes';
>> snip
>>
>> This only works if 0 (or any false value other than '') is not a valid 
>> response.
> 
> I agree; should better be:
> 
>      $normal = 'yes' if $normal eq '';
> 
> Thanks for pointing it out.

I think I prefer

  $normal = 'yes' unless $normal =~ /\S/;

which correctly handles '0' as well as ignoring all-whitespace entries.

Rob

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to