Index of /modules/by-category/11_String_Lang_Text_Proc/Lingua/YUMPY/Shell-POSIX-Select-005/
                Shell/POSIX/Select version 0.06
                ===============================
INSTALLATION
To install this module type the following:
    perl Makefile.PL
    make
    make test
    make install
DEPENDENCIES
This module requires these other modules and libraries:
    File::Spec::Functions
    Text::Balanced
    Filter::Simple
INSTALLATION TIP
    This module can be difficult to install on many modern platforms.
    However, there is a version that installs easily on Debian and Ubuntu-
    based systems (and with some effort, possibly others), which you
    can find at
    http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=libshell-posix-select.
==================================================================
NAME
    Shell::POSIX::Select - The POSIX Shell's "select" loop for Perl
PURPOSE
    This module implements the "select" loop of the "POSIX" shells
    (Bash, Korn, and derivatives) for Perl.  That loop is unique in
    two ways: it's by far the friendliest feature of any UNIX shell,
    and it's the *only* UNIX shell loop that's missing from the Perl
    language.  Until now!
SYNOPSIS
    NOTE: In the following, the enclosing square brackets (not
    typed) identify optional elements, and vertical bars indicate
    mutually-exclusive choices:
    select [[my|local|our<]> scalar_var] ( [LIST] ) { [CODE] }
    The required elements are the keyword "select", the *parentheses*,
    and the *curly braces*.  See "SYNTAX" for details.
ELEMENTARY EXAMPLE
  ship2me2.plx
    use Shell::POSIX::Select qw($Heading $Prompt);
    $Heading='Select a Shipper' ;
    $Prompt='Enter Vendor Number: ' ;
    select $shipper ( 'UPS', 'FedEx' ) {
        print "\nYou chose: $shipper\n";
        last;
    }
    ship ($shipper, $ARGV[0]);      # prints confirmation message
  OUTPUT
    ship2me2.plx '42 hemp toothbrushes'
    *Select a Shipper*
    1) UPS  2) FedEx
    Enter Vendor Number: 2
    You chose: FedEx
    Your order has been processed.  Thanks for your business!
BENEFITS
    What's so great about this loop? It automates the generation of a
    numbered menu of choices, prompts for a choice, proofreads that
    choice and complains if it's invalid (at least in this enhanced
    implementation), and executes a code-block with a variable set to
    the chosen value.  That saves a lot of coding for interactive
    programs -- especially if the menu consists of many values!
    The benefit of bringing this loop to Perl is that it obviates the
    need for future programmers to reinvent the *Choose-From-A-Menu*
    wheel.
EXPORTS: Default
    $Reply
    This variable is "local"ized to each "select" loop, and provides
    the menu-number of the most recent valid selection.
EXPORTS: Optional
     $Heading
     $Prompt
     $Eof
SCRIPTS
    browse_images
    browse_jpeg
    browse_records
    delete_file
    lc_filename
    long_listem
    menu_ls
    order
    perl_man
    pick
    pick_file
AUTHOR
    Tim Maher
    Consultix
    yumpy@cpan.org
    http://www.teachmeperl.com
ACKNOWLEDGEMENTS
    I probably never would have even attempted to write this module if
    it weren't for the provision of Filter::Simple by Damian Conway,
    which I ruthlessly exploited to make a hard job easy.
    *The Damian* also gave useful tips during the module's
    development, for which I'm grateful.
    I *definitely* wouldn't have ever written this module, if I hadn't
    found myself writing a chapter on *Looping* for my upcoming
    Manning Publications book, and once again lamenting the fact that
    the most friendly Shell loop was missing from Perl.  In a fit of
    zeal, I decided to rectify that oversight! 8-}
    For more examples of how this loop can be used in Perl programs,
    watch for my upcoming book, *Minimal Perl: for Shell Users and
    Programmers* (see <http://teachmeperl.com/mp4sh.html>) in early
    fall, 2003.
SEE ALSO
    man ksh        # on UNIX or UNIX-like systems
    man bash       # on UNIX or UNIX-like systems
DON'T SEE ALSO
    perldoc -f select, which has nothing to do with this module (the
    names just happen to match up).
LICENSE
    Copyright (C) 2002-2003, Timothy F. Maher.  All rights reserved.
    This module is free software; you can redistribute it and/or
    modify it under the same terms as Perl itself.