ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/schmorpforge/genpage
(Generate patch)

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.62 by root, Mon Oct 5 19:48:03 2009 UTC vs.
Revision 1.71 by root, Fri Jun 25 14:13:35 2010 UTC

4 4
5mkdir "software.schmorp.de", 0755; 5mkdir "software.schmorp.de", 0755;
6mkdir "software.schmorp.de/pkg", 0755; 6mkdir "software.schmorp.de/pkg", 0755;
7mkdir "software.schmorp.de/img", 0755; 7mkdir "software.schmorp.de/img", 0755;
8system "rsync -av *.jpg software.schmorp.de/img/"; 8system "rsync -av *.jpg software.schmorp.de/img/";
9
10our %IRC = (
11 anyevent => ["irc.perl.org", "#anyevent", "http://mibbit.com/chat/#anyevent\@irc.perl.org"],
12 freenode => ["irc.freenode.org", "#schmorp", "http://webchat.freenode.net/?randomnick=1&channels=schmorp&prompt=1", ", users <tt>schmorp</tt> and <tt>elmex</tt>"],
13 rxvt => ["irc.freenode.org", "#rxvt-unicode", "http://webchat.freenode.net/?randomnick=1&channels=rxvt-unicode&prompt=1", ""],
14 rxvtdev => ["irc.freenode.org", "#rxvt-unicode-dev", "http://webchat.freenode.net/?randomnick=1&channels=rxvt-unicode-dev&prompt=1", " <b>(no support, development only)</b>"],
15);
9 16
10sub hdr($$) { 17sub hdr($$) {
11 print <<EOF; 18 print <<EOF;
12<?xml version='1.0' encoding='utf-8'?> 19<?xml version='1.0' encoding='utf-8'?>
13<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 20<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
103</head> 110</head>
104<body> 111<body>
105<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p> 112<p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p>
106<h1 class="$_[1]">$_[0]</h1> 113<h1 class="$_[1]">$_[0]</h1>
107<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em"> 114<div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em">
115<!--
108 <a title="Mach mit!" href="http://www.piratenpartei.de/navigation/politik/unsere-ziele"> 116 <a title="Mach mit!" href="http://www.piratenpartei.de/navigation/politik/unsere-ziele">
109 <img src="http://res.tst.eu/denke_selbst.gif" alt="Werde Pirat!" width="468" height="60" border="0" /> 117 <img src="http://res.tst.eu/denke_selbst.gif" alt="Werde Pirat!" width="468" height="60" border="0" />
110 </a> 118 </a>
111 <br /> 119 <br />
120-->
112 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele"> 121 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele">
113 <img src="http://res.tst.eu/piraten1.png" alt="Piratenpartei" width="468" height="60" border="0" /> 122 <img src="http://res.tst.eu/piraten1.png" alt="Piratenpartei" width="468" height="60" border="0" />
114 </a> 123 </a>
115 <br /> 124 <br />
116 <a href="http://www.deliantra.net/"> 125 <a href="http://www.deliantra.net/">
129 Contact for this page: <a href="mailto:schmorpforge\@schmorp.de">Marc Lehmann &lt;schmorpforge\@schmorp.de&gt;</a>. 138 Contact for this page: <a href="mailto:schmorpforge\@schmorp.de">Marc Lehmann &lt;schmorpforge\@schmorp.de&gt;</a>.
130</p> 139</p>
131</body> 140</body>
132</html> 141</html>
133EOF 142EOF
134}
135
136sub res_irc {
137 print "<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <tt><b><a href='http://widget.mibbit.com/?settings=ba7bec4f0f493fde9b226a13c375edbd&server=irc.schmorp.de&channel=%23schmorp&noServerNotices=true&autoConnect=true'>irc.schmorp.de</a></b></tt>, channel <tt>#schmorp</tt>, users <tt>schmorp</tt> and <tt>elmex</tt> <b>(say hi and <i>wait a few minutes</i>)</b></td></tr>\n";
138 print "<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <tt><b>irc.freenode.net</b></tt>, channel <tt>#schmorp</tt>, users <tt>schmorp</tt> and <tt>elmex</tt></td></tr>\n";
139} 143}
140 144
141$_ = <DATA>; 145$_ = <DATA>;
142for (;defined $_;) { 146for (;defined $_;) {
143 my ($name, @args) = split /\s+/; 147 my ($name, @args) = split /\s+/;
210 214
211</td></tr> 215</td></tr>
212EOF 216EOF
213 } 217 }
214 218
219 my @irc;
220
215 print "<tr><td><tt class='icon'>FILE</tt></td><td class='rr'><a href='http://dist.schmorp.de/$name/'>File Releases</a></td></tr>\n" 221 print "<tr><td><tt class='icon'>FILE</tt></td><td class='rr'><a href='http://dist.schmorp.de/$name/'>File Releases</a></td></tr>\n"
216 if grep /dist/, @args; 222 if grep /dist/, @args;
217 print "<tr><td><tt class='icon'>CPAN</tt></td><td class='rr'><a href='http://www.cpan.org/modules/by-authors/Marc_Lehmann/'>File Releases (CPAN)</a></td></tr>\n" 223 print "<tr><td><tt class='icon'>CPAN</tt></td><td class='rr'><a href='http://www.cpan.org/modules/by-authors/Marc_Lehmann/'>File Releases (CPAN)</a></td></tr>\n"
218 if grep /cpan$/, @args; 224 if grep /cpan$/, @args;
219 print "<tr><td><tt class='icon'>CPAN</tt></td><td class='rr'><a href='http://www.cpan.org/modules/by-authors/id/E/EL/ELMEX/'>File Releases (CPAN)</a></td></tr>\n" 225 print "<tr><td><tt class='icon'>CPAN</tt></td><td class='rr'><a href='http://www.cpan.org/modules/by-authors/id/E/EL/ELMEX/'>File Releases (CPAN)</a></td></tr>\n"
220 if grep /cpan-elmex/, @args; 226 if grep /cpan-elmex/, @args;
221 for (@args) { 227 for (@args) {
222 if (/list\((.*)\)/) { 228 if (/list\((.*?)\)/) {
223 print "<tr><td><tt class='icon'>LIST</tt></td><td class='rr'><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></td></tr>\n"; 229 print "<tr><td><tt class='icon'>LIST</tt></td><td class='rr'><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></td></tr>\n";
224 } 230 }
231 if (/irc\((.*?)\)/) {
232 push @irc, $1;
233 }
225 } 234 }
226 res_irc; 235 push @irc, "freenode" unless @irc;
236 for (@irc) {
237 my ($server, $channel, $url, $comment) = @{ $IRC{$_} or die };
238 print "<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='$url'><tt><b>$server</b></tt>, channel <tt>$channel</tt></a>$comment <b>(say hi and <i>wait a few minutes or hours</i>)</b></td></tr>\n";
239 }
240
227 print "</table>"; 241 print "</table>";
228 242
229 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) { 243 if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) {
230 print "<h2>Additional Documents</h2><table class='resources'>"; 244 print "<h2>Additional Documents</h2><table class='resources'>";
231 245
271<tr><td><tt class='icon'>CVS</tt></td><td class='rr'>All CVS modules can be browsed <a href="http://cvs.schmorp.de/">here</a></td></tr> 285<tr><td><tt class='icon'>CVS</tt></td><td class='rr'>All CVS modules can be browsed <a href="http://cvs.schmorp.de/">here</a></td></tr>
272<tr><td><tt class='icon'>GIT</tt></td><td class='rr'>All GIT repositories can be found <a href="http://git.ta-sa.org/">here</a></td></tr> 286<tr><td><tt class='icon'>GIT</tt></td><td class='rr'>All GIT repositories can be found <a href="http://git.ta-sa.org/">here</a></td></tr>
273<tr><td><tt class='icon'>FILE</tt></td><td class='rr'>All file releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules)</td></tr> 287<tr><td><tt class='icon'>FILE</tt></td><td class='rr'>All file releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules)</td></tr>
274<tr><td><tt class='icon'>LIST</tt></td><td class='rr'>All mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a></td></tr> 288<tr><td><tt class='icon'>LIST</tt></td><td class='rr'>All mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a></td></tr>
275<!--<tr><td><tt class='icon'>WIKI</tt></td><td class='rr'>The Wiki can be found <a href="http://wiki.schmorp.de/">here</a></td></tr>--> 289<!--<tr><td><tt class='icon'>WIKI</tt></td><td class='rr'>The Wiki can be found <a href="http://wiki.schmorp.de/">here</a></td></tr>-->
290<tr><td><tt class='icon'>IRC</tt></td><td class='rr'>Server <a href='http://webchat.freenode.net/?randomnick=1&amp;channels=schmorp&amp;prompt=1'><tt><b>irc.freenode.net</b></tt>, channel <tt>#schmorp</tt></a>, users <tt>schmorp</tt> and <tt>elmex</tt> <b>(say hi and <i>wait a few minutes or hours</i>)</b><br/>Other project-specific IRC servers are listed on their respective project page.</td></tr>
276EOF 291EOF
277
278res_irc;
279 292
280print <<EOF; 293print <<EOF;
281</table> 294</table>
282 295
283<h2>Project List</h2> 296<h2>Project List</h2>
288 301
289print "</table>"; 302print "</table>";
290ftr; 303ftr;
291 304
292__DATA__ 305__DATA__
293rxvt-unicode dist list(rxvt-unicode) cvs-pod(doc/rxvt.1.pod,) cvs-pod(doc/rxvt.7.pod,FAQ) cvs-pod(src/urxvt.pm,Perl) cvs-co(Changes) 306rxvt-unicode dist list(rxvt-unicode) cvs-pod(doc/rxvt.1.pod,) cvs-pod(doc/rxvt.7.pod,FAQ) cvs-pod(src/urxvt.pm,Perl) cvs-co(Changes) irc(rxvt) irc(rxvtdev)
294 rxvt-unicode is a clone of the well known terminal emulator rxvt. 307 rxvt-unicode is a clone of the well known terminal emulator rxvt.
295 308
296 <p>If you have a problem, please have a look at the 309 <p>If you have a problem, please have a look at the
297 <a href="http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.html">FAQ</a> 310 <a href="http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.html">FAQ</a>
298 <em>first</em>.</p> 311 <em>first</em>.</p>
361 readline tab-completion to enter filenames. 374 readline tab-completion to enter filenames.
362 375
363 Again, its a dire hack and will not work with all programs. It does work 376 Again, its a dire hack and will not work with all programs. It does work
364 for gimp, firefox, gedit at least, though. 377 for gimp, firefox, gedit at least, though.
365 378
366Async-Interrupt cpan cvs-pod(Interrupt.pm,) cvs-co(Changes) list(anyevent) 379Async-Interrupt cpan cvs-pod(Interrupt.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
367 Allow C/XS libraries to interrupt perl asynchronously. 380 Allow C/XS libraries to interrupt perl asynchronously.
368 381
369 This is a module implementing a rarely-needed, very advanced technique 382 This is a module implementing a rarely-needed, very advanced technique
370 to interrupt a running perl interpreter from another thread, or similar, 383 to interrupt a running perl interpreter from another thread, or similar,
371 context, at very low overhead. 384 context, at very low overhead.
403 It could be used to write Knuddels clients, bots and even servers 416 It could be used to write Knuddels clients, bots and even servers
404 (although the latter doesn't make much sense, the protocol is rather 417 (although the latter doesn't make much sense, the protocol is rather
405 ugly. If you want to implement your own group communication server, use 418 ugly. If you want to implement your own group communication server, use
406 IRC instead). 419 IRC instead).
407 420
408AnyEvent-IRC cpan-elmex git-pod(lib/AnyEvent/IRC.pm,) git-co(Changes) git-co(samples/anyeventirccl) git-co(samples/anyeventirc) list(anyevent) 421AnyEvent-IRC cpan-elmex git-pod(lib/AnyEvent/IRC.pm,) git-co(Changes) git-co(samples/anyeventirccl) git-co(samples/anyeventirc) list(anyevent) irc(anyevent)
409 This module provides an alternative to the Net-IRC and Net-IRC2 422 This module provides an alternative to the Net-IRC and Net-IRC2
410 modules. Its design rationale is offering a 100% non-blocking 423 modules. Its design rationale is offering a 100% non-blocking
411 callback-based interface, RFC-compliant parsing and a lightweight 424 callback-based interface, RFC-compliant parsing and a lightweight
412 approach to modularity and reusability. 425 approach to modularity and reusability.
413 426
416 that are executed when a scope is being exited (or an object is destroyed). 429 that are executed when a scope is being exited (or an object is destroyed).
417 430
418 Much effort was invested into these guards behaving "sensibly" in the 431 Much effort was invested into these guards behaving "sensibly" in the
419 presence of thrown exceptions, errors and other adverse conditions, as 432 presence of thrown exceptions, errors and other adverse conditions, as
420 well as into good performance. 433 well as into good performance.
434
435common-sense cpan cvs-pod(sense.pm,) cvs-co(Changes)
436 This module implements some sane defaults for Perl programs, as defined
437 by two typical (or not so typical - use your common sense) specimens of
438 Perl coders.
421 439
422Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) 440Net-IRC-Server cvs-pod(Net/IRC/Server.pm,)
423 This module provides a simple API for handling the IRC Protocol 441 This module provides a simple API for handling the IRC Protocol
424 aiming at implementing lightweight IRC-Servers. 442 aiming at implementing lightweight IRC-Servers.
425 443
535 See <a href="http://home.schmorp.de/marc/lmainit.html">its homepage</a> for more info. 553 See <a href="http://home.schmorp.de/marc/lmainit.html">its homepage</a> for more info.
536 554
537Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes) 555Algorithm-FEC cpan cvs-pod(FEC.pm,) cvs-co(README.fec) cvs-co(Changes)
538 Perl module implementing forward error correction using Vandermonde matrices 556 Perl module implementing forward error correction using Vandermonde matrices
539 557
540AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-pod(lib/AE.pm,AE) 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/Irssi.pm,AnyEvent::Impl::Irssi) cvs-pod(lib/AnyEvent/Impl/IOAsync.pm,AnyEvent::Impl::IOAsync) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) list(anyevent) 558AnyEvent cpan cvs-pod(lib/AnyEvent.pm,) cvs-pod(lib/AnyEvent/Intro.pod,Introduction/Tutorial) cvs-pod(lib/AE.pm,AE) 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/Irssi.pm,AnyEvent::Impl::Irssi) cvs-pod(lib/AnyEvent/Impl/IOAsync.pm,AnyEvent::Impl::IOAsync) cvs-pod(lib/AnyEvent/Impl/POE.pm,AnyEvent::Impl::POE) list(anyevent) irc(anyevent)
541 This module offers a simple API for I/O, timer, signal, child process 559 This module offers a simple API for I/O, timer, signal, child process
542 and completion events, independent of a specific event loop. 560 and completion events, independent of a specific event loop.
543 561
544 <p>This module allows module authors to use those events internally 562 <p>This module allows module authors to use those events internally
545 without forcing users of the module to use a specific event loop, without 563 without forcing users of the module to use a specific event loop, without
564 <p>Lastly, AnyEvent::Handle offers a powerful framework for asynchronous and 582 <p>Lastly, AnyEvent::Handle offers a powerful framework for asynchronous and
565 buffered protocol handling. You can push multiple read event handlers 583 buffered protocol handling. You can push multiple read event handlers
566 to parse your protocol and start TLS/SSL negotiation transparently (and 584 to parse your protocol and start TLS/SSL negotiation transparently (and
567 fully non-blocking) at any time, in both server and client mode.</p> 585 fully non-blocking) at any time, in both server and client mode.</p>
568 586
569AnyEvent-FastPing cpan cvs-pod(FastPing.pm,) list(anyevent) 587AnyEvent-FastPing cpan cvs-pod(FastPing.pm,) list(anyevent) irc(anyevent)
570 This module implements a very fast and relatively flexible 588 This module implements a very fast and relatively flexible
571 ping (ping as in icmp echo request). 589 ping (ping as in icmp echo request).
572 590
573 This module allows you to quickly send ipv4 and ipv6 pings at a defined 591 This module allows you to quickly send ipv4 and ipv6 pings at a defined
574 rate to whole address ranges. It is fully event-driven (doesn't block 592 rate to whole address ranges. It is fully event-driven (doesn't block
577 more address ranges, to which pings will be distributed according to a 595 more address ranges, to which pings will be distributed according to a
578 least-load principle. 596 least-load principle.
579 597
580 A command line utility (<tt>fastping</tt>) is included. 598 A command line utility (<tt>fastping</tt>) is included.
581 599
582AnyEvent-HTTP cpan cvs-pod(HTTP.pm,) cvs-co(Changes) list(anyevent) 600AnyEvent-HTTP cpan cvs-pod(HTTP.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
583 A simple and plain event based http and https client. 601 A simple and plain event based http and https client.
584 602
585 This module implements a simple, stateless and non-blocking HTTP 603 This module implements a simple, stateless and non-blocking HTTP
586 client. It supports GET, POST and other request methods, cookies and more, 604 client. It supports GET, POST and other request methods, cookies and more,
587 all on a very low level. It can follow redirects supports proxies and 605 all on a very low level. It can follow redirects supports proxies and
595 The caller is responsible for authentication management, cookies (if 613 The caller is responsible for authentication management, cookies (if
596 the simplistic implementation in this module doesn't suffice), referer 614 the simplistic implementation in this module doesn't suffice), referer
597 and other high-level protocol details for which this module offers only 615 and other high-level protocol details for which this module offers only
598 limited support. 616 limited support.
599 617
600AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-co(Changes) list(anyevent) 618AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-co(Changes) list(anyevent) irc(anyevent)
601 This Perl module (-family) implements a simple message passing framework for Perl. 619 This Perl module (-family) implements a simple message passing framework for Perl.
602 620
603 Despite its simplicity, you can securely message other processes running 621 Despite its simplicity, you can securely message other processes running
604 on the same or other hosts. 622 on the same or other hosts.
605 623
606 For an introduction to this module family, see the Intro manual page. 624 For an introduction to this module family, see the Intro manual page.
607 625
608Coro-MP cpan cvs-pod(MP.pm,) cvs-co(Changes) list(anyevent) 626Coro-MP cpan cvs-pod(MP.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
609 This Perl module extends the AnyEvent::MP API with a thread-like/erlang-style API. 627 This Perl module extends the AnyEvent::MP API with a thread-like/erlang-style API.
610 628
611 This module implements a thread-like API to AnyEvent::MP that is closer 629 This module implements a thread-like API to AnyEvent::MP that is closer
612 to Erlang than the event-based AnyEvent::MP API. It integrates well into 630 to Erlang than the event-based AnyEvent::MP API. It integrates well into
613 AnyEvent::MP. 631 AnyEvent::MP.
614 632
615 See the AnyEvent::MP module and tutorial for info about the concepts used 633 See the AnyEvent::MP module and tutorial for info about the concepts used
616 in AnyEvent::MP. 634 in AnyEvent::MP.
617 635
618AnyEvent-DBI cpan cvs-pod(DBI.pm,) cvs-co(Changes) list(anyevent) 636AnyEvent-DBI cpan cvs-pod(DBI.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
619 A relatively simple wrapper around DBI to make asynchronous 637 A relatively simple wrapper around DBI to make asynchronous
620 SQL requests. 638 SQL requests.
621 639
622 This module implements asynchronous DBI access my forking or executing 640 This module implements asynchronous DBI access my forking or executing
623 separate "DBI-Server" processes and sending them requests. 641 separate "DBI-Server" processes and sending them requests.
624 642
625 It means that you can run DBI requests in parallel to other tasks. 643 It means that you can run DBI requests in parallel to other tasks.
626 644
627AnyEvent-HTTPD cpan-elmex git-pod(lib/AnyEvent/HTTPD.pm,) git-co(Changes) list(anyevent) 645AnyEvent-HTTPD cpan-elmex git-pod(lib/AnyEvent/HTTPD.pm,) git-co(Changes) list(anyevent) irc(anyevent)
628 A simple and plain event based http web application server Perl module. 646 A simple and plain event based http web application server Perl module.
629 647
630 This is a very basic HTTP server that allows the user/programmer to install 648 This is a very basic HTTP server that allows the user/programmer to install
631 hooks for URL paths to generate the output. It uses AnyEvent to be easily 649 hooks for URL paths to generate the output. It uses AnyEvent to be easily
632 embeddable into other applications. The main objective was to make it 650 embeddable into other applications. The main objective was to make it
633 easier to make simple HTTP frontends in Perl for Perl programs and Perl modules. 651 easier to make simple HTTP frontends in Perl for Perl programs and Perl modules.
634 652
635AnyEvent-Feed cpan-elmex git-pod(lib/AnyEvent/Feed.pm,) git-co(Changes) list(anyevent) 653AnyEvent-Feed cpan-elmex git-pod(lib/AnyEvent/Feed.pm,) git-co(Changes) list(anyevent) irc(anyevent)
636 A RSS/Atom Feed aggregator. 654 A RSS/Atom Feed aggregator.
637 655
638 This module uses AnyEvent::HTTP and XML::Feed to fetch and parse RSS and Atom 656 This module uses AnyEvent::HTTP and XML::Feed to fetch and parse RSS and Atom
639 feeds. It provides aggregation (detecting of new entries) to provide an easy 657 feeds. It provides aggregation (detecting of new entries) to provide an easy
640 interface for simple feed readers. 658 interface for simple feed readers.
641 659
642AnyEvent-Twitter cpan-elmex git-pod(lib/AnyEvent/Twitter.pm,) git-co(Changes) list(anyevent) 660AnyEvent-Twitter cpan-elmex git-pod(lib/AnyEvent/Twitter.pm,) git-co(Changes) list(anyevent) irc(anyevent)
643 Implementation of the Twitter API for AnyEvent. 661 Implementation of the Twitter API for AnyEvent.
644 662
645 Provides a simple non-blocking API to access information (aka tweets) provided 663 Provides a simple non-blocking API to access information (aka tweets) provided
646 by <a href="http://www.twitter.com">Twitter</a>. 664 by <a href="http://www.twitter.com">Twitter</a>.
647 665
648AnyEvent-IGS cpan-elmex git-pod(lib/AnyEvent/IGS.pm,) git-co(Changes) list(anyevent) 666AnyEvent-IGS cpan-elmex git-pod(lib/AnyEvent/IGS.pm,) git-co(Changes) list(anyevent) irc(anyevent)
649 A Perl module that interfaces to the International Go Server. 667 A Perl module that interfaces to the International Go Server.
650 668
651 This module is an Anyevent-based interface to the International Go Server 669 This module is an AnyEvent-based interface to the International Go Server
652 protocol. 670 protocol.
653 671
654AnyEvent-EditText cpan-elmex git-pod(lib/AnyEvent/EditText.pm,) git-co(Changes) list(anyevent) 672AnyEvent-EditText cpan-elmex git-pod(lib/AnyEvent/EditText.pm,) git-co(Changes) list(anyevent) irc(anyevent)
655 A Perl module which allows editing any text via an editor in a separate process. 673 A Perl module which allows editing any text via an editor in a separate process.
656 674
657 A utility Perl module that will start a terminal/editor for you and will 675 A utility Perl module that will start a terminal/editor for you and will
658 wait non-blocking for you to finish editing that file. Very useful to embed 676 wait non-blocking for you to finish editing that file. Very useful to embed
659 content edititing in event based programs that have a AnyEvent compatible 677 content edititing in event based programs that have a AnyEvent compatible
662Array-Heap cpan cvs-pod(Heap.pm,) cvs-co(Changes) 680Array-Heap cpan cvs-pod(Heap.pm,) cvs-co(Changes)
663 A Perl module that implements C++ STL-like binary heap operations. 681 A Perl module that implements C++ STL-like binary heap operations.
664 682
665Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes) 683Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes)
666 A Perl module implementing an interface to mpg123. 684 A Perl module implementing an interface to mpg123.
685
686BK git-pod(lib/BK.pm,) git-pod(lib/BK/News.pod,News) git-co(Changes) git-pod(lib/BK/Client.pm,BK::Client) git-pod(lib/BK/Backend.pm,BK::Backend)
687 Bummskraut is a distributed chat/messaging client framework written in Perl
688 using <a href="/pkg/AnyEvent-MP.html">AnyEvent::MP</a>.
689
690 For more documentation please consult the main manpage (see below). If you
691 want to check on the latest news proceed to the news or changelog (see also
692 below).
667 693
668Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes) 694Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes)
669 A Perl module implementing the LZV1 compression algorithm. See 695 A Perl module implementing the LZV1 compression algorithm. See
670 <tt>Compress::LZF</tt> for a better algorithm and module. 696 <tt>Compress::LZF</tt> for a better algorithm and module.
671 697
685 allows easy decoding of multipart mime, uuencode and a whole lot of 711 allows easy decoding of multipart mime, uuencode and a whole lot of
686 differently encoded messages. You basically throw files at it, and 712 differently encoded messages. You basically throw files at it, and
687 it extracts the files in them. This module is used by the popular <a 713 it extracts the files in them. This module is used by the popular <a
688 href="www.amavis.org">amavis virus scanner</a>. 714 href="www.amavis.org">amavis virus scanner</a>.
689 715
690Coro 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) list(anyevent) 716Coro 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) list(anyevent) irc(anyevent)
691 A large Perl module family that implements cooperative multitasking in 717 A large Perl module family that implements cooperative multitasking in
692 Perl. It supports filehandle and event abstraction and also implements 718 Perl. It supports filehandle and event abstraction and also implements
693 continuations as well as the necessary directives to implement a slightly 719 continuations as well as the necessary directives to implement a slightly
694 limited call/cc in Perl. 720 limited call/cc in Perl.
695 721
850 876
851 This Perl module represents a Go game. It can check for valid moves, 877 This Perl module represents a Go game. It can check for valid moves,
852 capture stones, stores move history and can represent a variety of 878 capture stones, stores move history and can represent a variety of
853 additional annotations (circles, labels, grayed-out stones etc.). 879 additional annotations (circles, labels, grayed-out stones etc.).
854 880
881Games-Sokoban cpan cvs-pod(Sokoban.pm,) cvs-co(Changes)
882 A perl module to load/transform/save sokoban levels in various formats.
883
884 Supports xsb (text), rle, sokevo and a small "binpack" format for input and
885 output and can normalise levels as well as calculate unique IDs.
886
855Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes) 887Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes)
856 A Perl module implementing a go board widget. 888 A Perl module implementing a go board widget.
857 889
858 This Perl module implements a beautiful go board (see <a 890 This Perl module implements a beautiful go board (see <a
859 href="http://data.plan9.de/kgsuemel.jpg">example</a>), implemented as a 891 href="http://data.plan9.de/kgsuemel.jpg">example</a>), implemented as a

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines