… | |
… | |
102 | print <<EOF; |
102 | print <<EOF; |
103 | <li><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browse GIT repository '$name'</a></li> |
103 | <li><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browse GIT repository '$name'</a></li> |
104 | <li>Read-only GIT checkout:<br /> |
104 | <li>Read-only GIT checkout:<br /> |
105 | <tt> git-clone http://git.ta-sa.org/$name.git</tt> |
105 | <tt> git-clone http://git.ta-sa.org/$name.git</tt> |
106 | </li> |
106 | </li> |
107 | <li>Contributor CVS Access:<br /> |
107 | <li>(EXPERIMENTAL) contributor CVS access (command requires CVS versions (>= 1.12.11)):<br /> |
108 | <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt> |
108 | <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt> |
109 | </li> |
109 | </li> |
110 | EOF |
110 | EOF |
111 | } else { |
111 | } else { |
112 | my $modules = $name; |
112 | my $modules = $name; |
… | |
… | |
274 | libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling |
274 | libptytty is an offspring of rxvt-unicode that handles pty/tty/utmp/wtmp/lastlog handling |
275 | in mostly OS-independent ways, so it's less of a hassle for you :) |
275 | in mostly OS-independent ways, so it's less of a hassle for you :) |
276 | |
276 | |
277 | Mailing list and contacts are the same as for rxvt-unicode, above. |
277 | Mailing list and contacts are the same as for rxvt-unicode, above. |
278 | |
278 | |
279 | gtkbfc cvs-co(README) |
279 | gtkbfc cvs-pod(README) |
280 | Gtk+ bash file chooser replacement. |
280 | Gtk+ bash file chooser replacement. |
281 | |
281 | |
282 | <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+ |
282 | <b>gtkbfc</b> is a hack that replaces the dreaded, slow and hard-to-use GTK+ |
283 | file chooser by a rxvt-unicode window with a little script that lets you use |
283 | file chooser by a rxvt-unicode window with a little script that lets you use |
284 | readline tab-completion to enter filenames. |
284 | readline tab-completion to enter filenames. |
… | |
… | |
319 | It could be used to write Knuddels clients, bots and even servers |
319 | It could be used to write Knuddels clients, bots and even servers |
320 | (although the latter doesn't make much sense, the protocol is rather |
320 | (although the latter doesn't make much sense, the protocol is rather |
321 | ugly. If you want to implement your own group communication server, use |
321 | ugly. If you want to implement your own group communication server, use |
322 | IRC instead). |
322 | IRC instead). |
323 | |
323 | |
324 | Net-IRC3 cpan-elmex cvs-pod(lib/Net/IRC3.pm,) cvs-co(Changes) cvs-co(samples/netirc3cl) cvs-co(samples/netirc3) |
324 | AnyEvent-IRC cpan-elmex git-pod(lib/AnyEvent/IRC.pm,) git-co(Changes) git-co(samples/anyeventirccl) git-co(samples/anyeventirc) |
325 | This module provides an alternative to the Net-IRC and Net-IRC2 |
325 | This module provides an alternative to the Net-IRC and Net-IRC2 |
326 | modules. Its design rationale is offfering a 100% non-blocking |
326 | modules. Its design rationale is offering a 100% non-blocking |
327 | callback-based interface, RFC-compliant parsing and a lightweight |
327 | callback-based interface, RFC-compliant parsing and a lightweight |
328 | approach to modularity and reusability. |
328 | approach to modularity and reusability. |
|
|
329 | |
|
|
330 | Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes) |
|
|
331 | This small module implements scope and object guards, that is, code blocks |
|
|
332 | that are executed when a scope is being exited (or an object is destroyed). |
|
|
333 | |
|
|
334 | Much effort was invested into these guards behaving "sensibly" in the |
|
|
335 | presence of thrown exceptions, errors and other adverse conditions, as |
|
|
336 | well as into good performance. |
329 | |
337 | |
330 | Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) |
338 | Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) |
331 | This module provides a simple API for handling the IRC Protocol |
339 | This module provides a simple API for handling the IRC Protocol |
332 | aiming at implementing lightweight IRC-Servers. |
340 | aiming at implementing lightweight IRC-Servers. |
333 | |
341 | |
… | |
… | |
389 | Perl module family for the <a href="http://www.deliantra.net/">Deliantra</a> game. |
397 | Perl module family for the <a href="http://www.deliantra.net/">Deliantra</a> game. |
390 | |
398 | |
391 | They can be used to read/write/cache archetypes, image packs and map files. |
399 | They can be used to read/write/cache archetypes, image packs and map files. |
392 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
400 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
393 | |
401 | |
394 | deliantra/gcrossedit cvs-pod(bin/gde,) |
402 | deliantra/gde cvs-pod(bin/gde,) |
395 | The <a href="http://www.deliantra.net/">Deliantra</a> editor, written in Perl + Gtk2. |
403 | The <a href="http://www.deliantra.net/">Deliantra</a> editor, written in Perl + Gtk2. |
396 | |
404 | |
397 | The editor for the game Deliantra, written in Perl. |
405 | The editor for the game Deliantra, written in Perl. |
398 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
406 | Follow the link to <a href="http://www.deliantra.net/">Deliantra</a> for background info. |
399 | |
407 | |
… | |
… | |
417 | As the name implies, using this module makes your perl program run |
425 | As the name implies, using this module makes your perl program run |
418 | faster. Actually, much slower initially, as it compiles every function |
426 | faster. Actually, much slower initially, as it compiles every function |
419 | to C and later to a shared object, but then you can expect a performance |
427 | to C and later to a shared object, but then you can expect a performance |
420 | increase by 10-50%, depending on what your program does. |
428 | increase by 10-50%, depending on what your program does. |
421 | |
429 | |
422 | liblzf cvs-co(README) cvs-co(lzf.h) |
430 | liblzf cvs-co(README) cvs-co(lzf.h) dist |
423 | LibLZF is a very small data compression library. |
431 | LibLZF is a very small data compression library. |
424 | |
432 | |
425 | It consists of only two .c and two .h files and is very easy to |
433 | It consists of only two .c and two .h files and is very easy to |
426 | incorporate into your own programs. The compression algorithm is very, |
434 | incorporate into your own programs. The compression algorithm is very, |
427 | very fast, yet still written in portable C. More info and the latest |
435 | very fast, yet still written in portable C. More info and the latest |
… | |
… | |
443 | See <a href="http://www.goof.com/pcg/marc/lmainit.html">its homepage</a> for more info. |
451 | See <a href="http://www.goof.com/pcg/marc/lmainit.html">its homepage</a> for more info. |
444 | |
452 | |
445 | Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) |
453 | Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) |
446 | Perl module implementing forward error correction using Vandermonde matrices |
454 | Perl module implementing forward error correction using Vandermonde matrices |
447 | |
455 | |
448 | AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-co(Changes) cvs-pod(lib/AnyEvent/Util.pm,AnyEvent::Util) cvs-pod(lib/AnyEvent/Handle.pm,AnyEvent::Handle) cvs-pod(lib/AnyEvent/Socket.pm,AnyEvent::Socket) cvs-pod(lib/AnyEvent/DNS.pm,AnyEvent::DNS) cvs-pod(lib/AnyEvent/Impl/EV.pm,AnyEvent::Impl::EV) cvs-pod(lib/AnyEvent/Impl/Event.pm,AnyEvent::Impl::Event) cvs-pod(lib/AnyEvent/Impl/Glib.pm,AnyEvent::Impl::Glib) cvs-pod(lib/AnyEvent/Impl/Tk.pm,AnyEvent::Impl::Tk) cvs-pod(lib/AnyEvent/Impl/Perl.pm,AnyEvent::Impl::Perl) cvs-pod(lib/AnyEvent/Impl/Qt.pm,AnyEvent::Impl::Qt) cvs-pod(lib/AnyEvent/Impl/EventLib.pm,AnyEvent::Impl::EventLib) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) |
456 | AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-co(Changes) cvs-pod(lib/AnyEvent/Util.pm,AnyEvent::Util) cvs-pod(lib/AnyEvent/Handle.pm,AnyEvent::Handle) cvs-pod(lib/AnyEvent/Socket.pm,AnyEvent::Socket) cvs-pod(lib/AnyEvent/DNS.pm,AnyEvent::DNS) cvs-pod(lib/AnyEvent/Impl/EV.pm,AnyEvent::Impl::EV) cvs-pod(lib/AnyEvent/Impl/Event.pm,AnyEvent::Impl::Event) cvs-pod(lib/AnyEvent/Impl/Glib.pm,AnyEvent::Impl::Glib) cvs-pod(lib/AnyEvent/Impl/Tk.pm,AnyEvent::Impl::Tk) cvs-pod(lib/AnyEvent/Impl/Perl.pm,AnyEvent::Impl::Perl) cvs-pod(lib/AnyEvent/Impl/Qt.pm,AnyEvent::Impl::Qt) cvs-pod(lib/AnyEvent/Impl/EventLib.pm,AnyEvent::Impl::EventLib) cvs-pod(lib/AnyEvent/Impl/IOAsync.pm,AnyEvent::Impl::IOAsync) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) |
449 | This module offers a simple API for I/O, timer, signal, child process |
457 | This module offers a simple API for I/O, timer, signal, child process |
450 | and completion events, independent of a specific event loop. |
458 | and completion events, independent of a specific event loop. |
451 | |
459 | |
452 | <p>This module allows module authors to use those events internally without |
460 | <p>This module allows module authors to use those events internally |
453 | forcing users of the module to use a specific event loop, without adding |
461 | without forcing users of the module to use a specific event loop, without |
454 | noticable overhead. Currently supported event loops are EV, Event, |
462 | adding noticable overhead. Currently supported event loops are EV, Event, |
455 | Glib/Gtk2, Tk, Qt, Event::Lib and POE (and thus also WxWidgets and |
463 | Glib/Gtk2, Tk, Qt, Event::Lib, IO::Async and POE (and thus also WxWidgets |
456 | Prima). It contains a very fast (see benchmarks in the main manual page) |
464 | and Prima). It also comes with a very fast (see benchmarks in the main |
457 | Pure Perl event loop and doesn't rely on XS, which ensures that your |
465 | manual page) Pure Perl event loop and doesn't rely on XS, which ensures |
458 | program will always run even when no C-based event loop is available.</p> |
466 | that your program will always run even when no C-based event loop is |
|
|
467 | available.</p> |
459 | |
468 | |
460 | <p>In addition to the event core (which might be all you need), AnyEvent |
469 | <p>In addition to the event core (which might be all you need), AnyEvent |
461 | comes with an optional, fully asynchronous, pure-perl DNS resolver |
470 | comes with an optional, fully asynchronous, pure-perl DNS resolver |
462 | library supporting UDP, TCP and EDNS0, with many utility functions to |
471 | library supporting UDP, TCP and EDNS0, with many utility functions to |
463 | "just resolve" stuff without having to instantiate even a resolver object |
472 | "just resolve" stuff without having to instantiate even a resolver object |
… | |
… | |
559 | Coro cpan cvs-co(Changes) cvs-pod(Coro.pm,) cvs-pod(Coro/AIO.pm,Coro::AIO) cvs-pod(Coro/AnyEvent.pm,Coro::AnyEvent) cvs-pod(Coro/BDB.pm,Coro::BDB) cvs-pod(Coro/Channel.pm,Coro::Channel) cvs-pod(Coro/Debug.pm,Coro::Debug) cvs-pod(Coro/EV.pm,Coro::EV) cvs-pod(Coro/Event.pm,Coro::Event) cvs-pod(Coro/Handle.pm,Coro::Handle) cvs-pod(Coro/LWP.pm,Coro::LWP) cvs-pod(Coro/MakeMaker.pm,Coro::MakeMaker) cvs-pod(Coro/RWLock.pm,Coro::RWLock) cvs-pod(Coro/Select.pm,Coro::Select) cvs-pod(Coro/Semaphore.pm,Coro::Semaphore) cvs-pod(Coro/SemaphoreSet.pm,Coro::SemaphoreSet) cvs-pod(Coro/Signal.pm,Coro::Signal) cvs-pod(Coro/Socket.pm,Coro::Socket) cvs-pod(Coro/Specific.pm,Coro::Specific) cvs-pod(Coro/State.pm,Coro::State) cvs-pod(Coro/Storable.pm,Coro::Storable) cvs-pod(Coro/Timer.pm,Coro::Timer) cvs-pod(Coro/Util.pm,Coro::Util) |
568 | Coro cpan cvs-co(Changes) cvs-pod(Coro.pm,) cvs-pod(Coro/AIO.pm,Coro::AIO) cvs-pod(Coro/AnyEvent.pm,Coro::AnyEvent) cvs-pod(Coro/BDB.pm,Coro::BDB) cvs-pod(Coro/Channel.pm,Coro::Channel) cvs-pod(Coro/Debug.pm,Coro::Debug) cvs-pod(Coro/EV.pm,Coro::EV) cvs-pod(Coro/Event.pm,Coro::Event) cvs-pod(Coro/Handle.pm,Coro::Handle) cvs-pod(Coro/LWP.pm,Coro::LWP) cvs-pod(Coro/MakeMaker.pm,Coro::MakeMaker) cvs-pod(Coro/RWLock.pm,Coro::RWLock) cvs-pod(Coro/Select.pm,Coro::Select) cvs-pod(Coro/Semaphore.pm,Coro::Semaphore) cvs-pod(Coro/SemaphoreSet.pm,Coro::SemaphoreSet) cvs-pod(Coro/Signal.pm,Coro::Signal) cvs-pod(Coro/Socket.pm,Coro::Socket) cvs-pod(Coro/Specific.pm,Coro::Specific) cvs-pod(Coro/State.pm,Coro::State) cvs-pod(Coro/Storable.pm,Coro::Storable) cvs-pod(Coro/Timer.pm,Coro::Timer) cvs-pod(Coro/Util.pm,Coro::Util) |
560 | A large Perl module family that implements cooperative multitasking in |
569 | A large Perl module family that implements cooperative multitasking in |
561 | Perl. It supports filehandle and event abstraction and also implements |
570 | Perl. It supports filehandle and event abstraction and also implements |
562 | continuations as well as the necessary directives to implement a slightly |
571 | continuations as well as the necessary directives to implement a slightly |
563 | limited call/cc in Perl. |
572 | limited call/cc in Perl. |
|
|
573 | |
|
|
574 | Coro-Mysql cpan cvs-co(Changes) cvs-pod(Mysql.pm,) |
|
|
575 | Lets other threads run while doing mysql requests via DBD::mysql. |
|
|
576 | |
|
|
577 | This perl module patches libmysqlclient/DBD::mysql at runtime to allow |
|
|
578 | multiple Coro-based threads to make database accesses concurrently, |
|
|
579 | instead of blocking the whole process. |
564 | |
580 | |
565 | Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes) |
581 | Crypt-Twofish2 cpan cvs-pod(Twofish2.pm,) cvs-co(Changes) |
566 | A Perl module implementing the twofish encryption algorithm in Perl. It has |
582 | A Perl module implementing the twofish encryption algorithm in Perl. It has |
567 | mostly been superceded by the Crypt::Twofish module. However, it supports |
583 | mostly been superceded by the Crypt::Twofish module. However, it supports |
568 | an easy and fast CBC mode natively. |
584 | an easy and fast CBC mode natively. |
… | |
… | |
905 | is a bit slower than necessary, and lacks some important (or nice) |
921 | is a bit slower than necessary, and lacks some important (or nice) |
906 | features, like automatic unzip-testing and others. On the other hand, |
922 | features, like automatic unzip-testing and others. On the other hand, |
907 | fcrackzip-0.0.1 was hacked together in under ten hours, and you can |
923 | fcrackzip-0.0.1 was hacked together in under ten hours, and you can |
908 | always modify the source (and send me patches!!!) (I hope I've made it |
924 | always modify the source (and send me patches!!!) (I hope I've made it |
909 | clear now ;)</p> |
925 | clear now ;)</p> |
|
|
926 | |
|
|
927 | lsys cvs-co(README) cvs-co(NEWS) |
|
|
928 | lsys is a program that interprets lindenmeyer-systems. |
|
|
929 | |
|
|
930 | <p>lsys is a full-featured program that understands most of the syntax |
|
|
931 | of the original l-systems language, which is far more complex and |
|
|
932 | powerful than most available l-system interpreters.</p> |
|
|
933 | |
|
|
934 | <p>See <a href="http://www.goof.com/pcg/marc/lsys.html">the original homepage</a> |
|
|
935 | for more explanations and some images. |