1 The Curses Perl Module
2
3
4============================================================
5COPYRIGHT AND LICENSE INFORMATION IS AT THE END OF THIS FILE
6============================================================
7
8This is a dynamic loadable curses module for perl. You can get this
9package at any CPAN archive.
10
11Please see the INSTALL document for how to install it on your system,
12the Curses pod (located at the end of "Curses.pm") for known
13incompatibilities with other Perl programs, and the end of this
14document for known compile or install problems.
15
16RECENT CHANGES
17--------------
18
19The change history is in the file HISTORY.
20
21
22BINARY DISTRIBUTIONS
23--------------------
24
25There is a binary package for Cygwin at
26
27 ftp://sunsite.dk/projects/cygwinports/release/perl/perl-Curses
28
29The maintainer of this CPAN source package doesn't know of any others,
30but if you do, let him know and he will add them here.
31
32
33DEMO PROGRAMS
34-------------
35
36The "demo" program is for demonstration purposes only. If it
37references a function your version of curses doesn't have, wrap it in
38an "eval" and try again. Same goes double for the "gdc" program.
39You can type "make cdemo" to make a C language version of the demo.
40If you get the same results via "demo" and "cdemo", but they don't
41look right, then it's a bug in your libcurses, not in Curses.
42
43
44MAINTENANCE
45-----------
46
47Bryan Henderson maintains the Perl Curses module. Bryan doesn't actually
48know much about it, and is functioning mainly as a coordinator. Go ahead
49and report bugs to and ask technical questions of Bryan, but don't hold
50your breath. If you should have a fix or enhancement, though, Bryan will
51incorporate it into the package promptly.
52
53Email Bryan at bryanh@giraffe-data.com. Do not use the CPAN bug
54database to report a bug. It's more work for both parties and Bryan
55doesn't know a bug has been opened except when he occasionally goes to
56look.
57
58
59*** SECURITY NOTICE ***
60
61It has always been the case with the curses functions, but please note
62that the following functions:
63
64 getstr() (and optional wgetstr(), mvgetstr(), and mvwgetstr())
65 inchstr() (and optional winchstr(), mvinchstr(), and mvwinchstr())
66 instr() (and optional winstr(), mvinstr(), and mvwinstr())
67
68are subject to buffer overflow attack. This is because you pass in
69the buffer to be filled in, which has to be of finite length, but
70there is no way to stop a bad guy from typing.
71
72In order to avoid this problem, use the alternate functions:
73
74 getnstr()
75 inchnstr()
76 innstr()
77
78which take an extra "size of buffer" argument or the wide-character-aware
79getstring() and instring() versions.
80
81
82Known Problems
83--------------
84NCurses
85 getch() and getstr() don't work right under very old versions of
86 ncurses (around v1.8.5).
87
88 panel_hidden() test is reversed in v1.9.9g.
89
90 Actually, there are several problems in v1.9.9g.
91
92NETBSD
93
94 William reported as of 2001: I continue to get conflicting reports
95 about the correct number of arguments for longname() and
96 touchline(), controlled via the file `hints/c-netbsd.h'. Before
97 compiling, you may want to look them up yourself, confirm them, and
98 then editing `hints/c-netbsd.h'.
99
100Solaris 2.6
101
102 The menu stuff doesn't appear to work. I have no idea why.
103
104
105
106COPYRIGHT AND LICENSE INFORMATION
107---------------------------------
108
109 Copyright (c) 1994-2000 William Setzer
110 All rights reserved.
111
112 This program is free software; you can redistribute it and/or modify
113 it under the same terms as perl, specifically:
114
115 a) the GNU General Public License as published by the Free
116 Software Foundation; either version 1, or (at your option) any
117 later version, or
118
119 b) the "Artistic License" which comes with this Kit.
120
121 This program is distributed in the hope that it will be useful,
122 but WITHOUT ANY WARRANTY; without even the implied warranty of
123 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
124 Artistic License for more details.
125
126 You should have received a copy of the Artistic License with this
127 Kit, in the file named "Artistic". If not, I'll be glad to provide one.
128
129 You should also have received a copy of the GNU General Public License
130 along with this program; if not, write to the Free Software Foundation,
131 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
132