Skip to content
main
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
t
 
 
 
 
 
 
 
 
 
 

Το «ναι» και το «όχι», αν και είναι οι πιο σύντομες από όλες τις λέξεις, χρειάζεται να τις σκεφθεί κανείς πολύ προηγουμένως. — Πυθαγόρας

Intl::Prompt::YesNo

A module to ask a user for a yes/no response in a localized command line interface. To use:

use Intl::Prompt::YesNo

my $answer = prompt-yes-no 'Queres falar em português?', :language<pt>;
# Queres falar em português? [s/n]

if $answer { 
  # they answered yes
} else { 
  # they answered no
}

If the user responds in an affirmative manner, the sub prompt-yes-no will return True. If they respond in a negative manner, it returns False.

The sub accepts a single positional argument, which is the message to display alongside the prompt. It would be best to obtain such a string through a module like Fluent. There are two named arguments available:

  • :language
    The language should be a BCP-47 compliant language tag. It defaults to whatever Intl::UserLanguage's user-language returns, so you don't know necessarily need to specify it.
  • :long
    Many languages have multiple strings that are acceptable for the two responses. By default, the shortest ones are used (y/n in English, s/n for Portuguese). If you use :long, the longer ones are used (yes/no, or sim/não for Portuguese). In either case, all variants are accepted.

Version history

  • v0.1
    • Initial release

License and Copyright

© 2020 Matthew Stephen Stuckwisch. Licensed under the Artistic License 2.0. But as this is very simple, feel free to hack this code up and integrate it in your own code without need for attribution.

About

A module to ask a user for a yes/no response in a localized command line interface

Resources

License

Releases

No releases published

Packages

No packages published

Languages