… | |
… | |
454 | include some highly subjective package selections are available as |
454 | include some highly subjective package selections are available as |
455 | <a href="http://staticperl.schmorp.de/smallperl.html">smallperl</a> |
455 | <a href="http://staticperl.schmorp.de/smallperl.html">smallperl</a> |
456 | and |
456 | and |
457 | <a href="http://staticperl.schmorp.de/bigperl.html">bigperl</a>. |
457 | <a href="http://staticperl.schmorp.de/bigperl.html">bigperl</a>. |
458 | |
458 | |
459 | Net-Knuddels cvs-pod(Net/Knuddels.pm,) |
459 | Net-Knuddels cvs-pod(Net/Knuddels.pm,) |
460 | This perl module provides an API for group communications using the |
460 | This perl module provides an API for group communications using the |
461 | <a href="http://www.knuddels.de/">www.knuddels.de</a> protocol. It is outdated |
461 | <a href="http://www.knuddels.de/">www.knuddels.de</a> protocol. It is outdated |
462 | and only provided as reference. |
462 | and only provided as reference. |
463 | |
463 | |
464 | This module implements the knuddels.de chat protocol. Since it was created |
464 | This module implements the knuddels.de chat protocol. Since it was created |
… | |
… | |
479 | AnyEvent-ReadLine-Gnu cpan cvs-pod(Gnu.pm,) list(anyevent) irc(anyevent) |
479 | AnyEvent-ReadLine-Gnu cpan cvs-pod(Gnu.pm,) list(anyevent) irc(anyevent) |
480 | This is a small interface to Term::ReadLine::Gnu for event-based programs. |
480 | This is a small interface to Term::ReadLine::Gnu for event-based programs. |
481 | |
481 | |
482 | This module has event-based readline, as well as asynchronous message printing |
482 | This module has event-based readline, as well as asynchronous message printing |
483 | with readline figured out for you. |
483 | with readline figured out for you. |
|
|
484 | |
|
|
485 | IO-FDPass cpan cvs-pod(FDPass.pm,) cvs-co(Changes) |
|
|
486 | Pass a file descriptor over a socket. |
|
|
487 | |
|
|
488 | This small low-level module only has one purpose: pass a file descriptor |
|
|
489 | to another process, using a (streaming) unix domain socket (on POSIX |
|
|
490 | systems) or any (streaming) socket (on WIN32 systems). |
|
|
491 | |
|
|
492 | Proc-FastSpawn cpan cvs-pod(FastSpawn.pm,) cvs-co(Changes) |
|
|
493 | fork+exec, or spawn, a subprocess as quickly as possible |
|
|
494 | |
|
|
495 | The purpose of this small (in scope and footprint) module is simple: |
|
|
496 | spawn a subprocess asynchronously as efficiently and/or fast as |
|
|
497 | possible. Basically the same as calling fork+exec (on POSIX), but |
|
|
498 | hopefully faster than those two syscalls. |
|
|
499 | |
|
|
500 | Apart from fork overhead, this module also allows you to fork+exec |
|
|
501 | programs when otherwise you couldn't - for example, when you use POSIX |
|
|
502 | threads in your perl process then it generally isn't safe to call |
|
|
503 | fork from perl, but it is safe to use this module to execute external |
|
|
504 | processes. |
|
|
505 | |
|
|
506 | AnyEvent-Fork cpan cvs-pod(Fork.pm,) cvs-pod(Fork/Early.pm) cvs-pod(Fork/Template) cvs-co(Changes) |
|
|
507 | Everything you wanted to use fork() for, but couldn't. |
|
|
508 | |
|
|
509 | This module allows you to create new processes, without actually forking |
|
|
510 | them from your current process (avoiding the problems of forking), but |
|
|
511 | preserving most of the advantages of fork. |
|
|
512 | |
|
|
513 | It can be used to create new worker processes or new independent |
|
|
514 | subprocesses for short- and long-running jobs, process pools (e.g. for |
|
|
515 | use in pre-forked servers) but also to spawn new external processes (such |
|
|
516 | as CGI scripts from a webserver), which can be faster (and more well |
|
|
517 | behaved) than using fork+exec in big processes. |
484 | |
518 | |
485 | Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes) |
519 | Guard cpan cvs-pod(Guard.pm,) cvs-co(Changes) |
486 | This small module implements scope and object guards, that is, code blocks |
520 | This small module implements scope and object guards, that is, code blocks |
487 | that are executed when a scope is being exited (or an object is destroyed). |
521 | that are executed when a scope is being exited (or an object is destroyed). |
488 | |
522 | |