The Curses extension to perl5.000, version alpha8 Copyright (c) 1994,1995 William Setzer All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License. This program 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 Artistic License for more details. This is a dynamic loadable curses module for perl5. If you've seen previous versions of Curses, you'll notice that very little remains of the old version. This was necessary to fix some of the bad flaws in the old one. So there's no more Configure or cursin.* or Curses.xs process. Getting rid of Configure was a difficult decision, but I think it'll help more than hurt in the long run. Yes, it's been downgraded from beta back to alpha, but I never had a good reason to make it beta in the first place. :-) You can get this package from: ftp://ftp.ncsu.edu/pub/math/wsetzer/Curses-a8.tar.gz Mirrors take note: This is also available as: ftp://ftp.ncsu.edu/pub/math/wsetzer/Curses/Curses-a8.tar.gz The name change is to keep people from confusing it with perl 4.X curseperl. Please see the INSTALL document for how to install it on your system, the Curses pod (located at the end of "Curses.pm") for incompatibilities with other Perl programs, and the end of this document for known compile or install problems. New for alpha 8: o Tested on perl5.001 o Better Makefile support. Now that we can use perl5.001 and the much improved MakeMaker, you should be able to install Curses more easily. o Less compiling tests, so the symbol testing should go a little faster. o Fixes for various compiling problems. o "make clean" now does the right thing. Features: o This version is much faster. Timing, including the dynamic loading, of 5000 "addstr"s on a Sparc 5 under SunOS, SysV Curses: Original Curses: ~14 sec Curses2: 3.9 sec New Curses: 1.6 sec o Unified functions are still in, even with the increase in speed. o Better diagnostics. o Much better documentation. I think the new Curses pod is fairly complete, but suggestions for revisions or additions are welcome. o All supported Curses functions now exist. If the vendor's libcurses doesn't have the equivalent C function, the perl function will complain and exit. o All incompatibilities with curseperl 4.X should now be explicitly noted. o Every function has been wrapped with with an #ifdef, so if the symbol finding script doesn't work, you can still easily configure the module by hand. Doing it the old way wasn't pretty. o The "eval problem" has gone away. o I've found the Linux getch() and getstr() problem. See below. The "demo" program is for demonstration purposes only. If it references a function your version of curses doesn't have, wrap it in an "eval" and try again. Many thanks Malcolm Beattie and Larry Wall, without whose code I could steal I wouldn't have written this. Enjoy! William Setzer William_Setzer@ncsu.edu Known Problems -------------- Linux: getch() and getstr() don't work right. This is because of a bug in ncurses. A patch to fix ncurses-1.8.5 can be found in the file "ncurses.patch". After applying the patch and reinstalling ncurses, everything should work fine.