1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
perlmenu.pm
PerlMenu Package
Version 4.0
February 17, 1997
Steven L. Kunz
Networked Applications
Iowa State University Computation Center
Iowa State University
Ames, Iowa
PerlMenu - Perl library module for curses-based menus & data-entry templates
Copyright (C) 1992-97 Iowa State University Computation Center Ames, Iowa (USA)
This Perl library module is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public
License (as published by the Free Software Foundation) or the
Artistic License.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--------
Overview
--------
The "perlmenu.pm" package is a Perl5 package (built into your Perl program
with a "use perlmenu.pm" command) that automates curses-based full screen
menus and data entry. It also functions under Perl4/curseperl.
Using three simple calls, any number of items may be selected from a
single or multiple-page menu by moving an arrow to the desired item (or
directly entering the selection number displayed on the screen). In
addition to simple "single one-shot selection menus", "radio button" style
menus and "multiple-item-selection" menus are provided. Paging through
multiple-page menus is handled automatically. Menu titles, sub-titles,
prompts, "single column", and "multiple column" menus are supported.
Using two simple calls a full-screen data entry template may be loaded
and a fully-titled data entry input screen may be created. Defaults,
maximum field lengths, and numeric-only data are supported.
The "perlmenu.pm" package uses curses interface routine calls supplied by
the Curses extension for Perl5 (you should be running AT LEAST Perl
5.001). A "menu.pl" package can be created which uses curses interface
routine calls supplied by the "curseperl" package for Perl4. All
functions and features are identical whether you are using Perl4 or Perl5.
------------------------------------
The Official PerlMenu WWW home page:
------------------------------------
The official PerlMenu WWW home page (maintained by the author) is at:
http://www.cc.iastate.edu/perlmenu/
----------------------------
Official Distribution Points
----------------------------
The PerlMenu package is distributed via "CPAN" (the "Comprehensive Perl
Archive Network"). Pick a CPAN site near you with a WWW browser pointed
at "http://www.perl.com/perl/CPAN/CPAN.html" and go into the
"authors/Steven L Kunz" folder. You should find "perlmenu.v4.0.tar.Z" in
there.
The author's official distribution is alos available via anonymous FTP
from:
ftp://ftp.iastate.edu/pub/perl/perlmenu.v4.0.tar.Z
New releases are announced in the Usenet newsgroups
"comp.lang.perl.announce" and "comp.lang.perl.modules".
----------------------
Distribution Contents
----------------------
This is "perlmenu.pm" - a set of perl routines that will perform full screen
menu functions using Perl5+Curses. What you should have after unpacking
this package is the following:
ARTISTIC Artistic License
COPYING Library GNU Public License
FAQ Frequently Asked Questions
INSTALLATION Guide to installing PerlMenus
MENU_DOC A user's guide to the perlmenu.pm routines.
MENU_DOC A user's guide to the menuutil.pl routines.
README (this file)
RELEASE_NOTES Differences between this version and previous versions.
TO_DO List of things on my "to do" sheet.
create_menu.pl Create a Perl4-style "menu.pl" module from the
Perl5-style "perlmenu.pm" module. Used for legacy
applications under Perl4 or Perl5.
demo A simple menu demo showing all several types of menu
selection capabilities (simple single-page, simple
multiple-page, radio-button, and multiple-selection).
demo_getstr A simple menu demo using the "menu_getstr" routine.
demo_template A demo using the "menu_load_template" and
"menu_display_template" routines.
demo_top A simple menu demo with "top" menus.
demo_util A simple demo of the routines in "menuutil.pl".
ezpasswd A more involved demo showing how menu_getstr, menuutil.pl,
and templates can be used to display full-screen formatted
entries from a BSD-style /etc/password file.
ezreg A more involved demo showing how menu template routines
can be used in a full-screen user registration panel
that a multiple required fields.
ezview A more involved demo showing how menus can be used to call
routines, select files, etc.
install_hints.pl A small Perl5 program that helps you decide how to tweek
"perlmenu.pm" for use on your system (with your flavor
of termcap or terminfo).
perlmenu.pm The PerlMenu subroutines in a Perl5-style package (usually
placed somewhere like /usr/local/lib/perl/perlmenu.pm).
See also "create_menu.pl".
menuutil.pl Some curses subroutines useful in constructing curseperl
transactions which use "perlmenu.pm". These are purely
optional and are not needed for using PerlMenus
("perlmenu.pm"). Shows some examples of "curses"
programming techniques.
paint_text A sample file used by "demo" to display bottom-titles
loaded from a file.
template_data A sample full-screen input template used by "demo_template"
to input name/address/phone data records.
template_ezp The display template used by ezpasswd.
template_reg The display template used by ezreg.
---
Steven L. Kunz
Networked Applications
Iowa State University Computation Center, Iowa State University, Ames IA
INET: skunz@iastate.edu
|