Документация
HTML CSS PHP PERL другое

Section 10.13.  Simple Prompting

 
Previous
Table of Contents
Next

10.13. Simple Prompting

Always prompt for interactive input.

There are few things more frustrating than firing up a program and then sitting there waiting for it to complete its task, only to realize after a few minutes that it's actually been just sitting there too, silently waiting for you to start interacting with it:

    
    # The quit command is case-insensitive and may be abbreviated...
    Readonly my $QUIT => qr/\A q(?:uit)? \z/ixms;

    # No command entered yet...
    my $cmd = $EMPTY_STR;

    # Until the q[uit] command is entered...
    CMD:
    while ($cmd !~ $QUIT) {
        # Get the next command...
        $cmd = <>;
        last CMD if not defined $cmd;
        
        # Clean it up and run it...
        chomp $cmd;
        execute($cmd)
            or carp "Unknown command: $cmd";
    }

Interactive programs should always prompt for interaction whenever they're being run interactively:

    
    # Until the q[uit] command is entered...

    CMD:
    while ($cmd !~ $QUIT) {
        
# Prompt if we're running interactively...
if (is_interactive( )) { print get_prompt_str( ); }
# Get the next command...
$cmd = <>; last CMD if not defined $cmd;
# Clean it up and run it...
chomp $cmd; execute($cmd) or carp "Unknown command: $cmd"; }

    Previous
    Table of Contents
    Next
    © 2000- NIV