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

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.64 by elmex, Tue Oct 6 15:59:14 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">
133</body> 140</body>
134</html> 141</html>
135EOF 142EOF
136} 143}
137 144
138sub res_irc {
139 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";
140 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";
141}
142
143$_ = <DATA>; 145$_ = <DATA>;
144for (;defined $_;) { 146for (;defined $_;) {
145 my ($name, @args) = split /\s+/; 147 my ($name, @args) = split /\s+/;
146 148
147 next unless $name; 149 next unless $name;
212 214
213</td></tr> 215</td></tr>
214EOF 216EOF
215 } 217 }
216 218
219 my @irc;
220
217 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"
218 if grep /dist/, @args; 222 if grep /dist/, @args;
219 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"
220 if grep /cpan$/, @args; 224 if grep /cpan$/, @args;
221 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"
222 if grep /cpan-elmex/, @args; 226 if grep /cpan-elmex/, @args;
223 for (@args) { 227 for (@args) {
224 if (/list\((.*)\)/) { 228 if (/list\((.*?)\)/) {
225 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";
226 } 230 }
231 if (/irc\((.*?)\)/) {
232 push @irc, $1;
233 }
227 } 234 }
228 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
229 print "</table>"; 241 print "</table>";
230 242
231 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) {
232 print "<h2>Additional Documents</h2><table class='resources'>"; 244 print "<h2>Additional Documents</h2><table class='resources'>";
233 245
273<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>
274<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>
275<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>
276<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>
277<!--<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>
278EOF 291EOF
279
280res_irc;
281 292
282print <<EOF; 293print <<EOF;
283</table> 294</table>
284 295
285<h2>Project List</h2> 296<h2>Project List</h2>
290 301
291print "</table>"; 302print "</table>";
292ftr; 303ftr;
293 304
294__DATA__ 305__DATA__
295rxvt-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)
296 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.
297 308
298 <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
299 <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>
300 <em>first</em>.</p> 311 <em>first</em>.</p>
363 readline tab-completion to enter filenames. 374 readline tab-completion to enter filenames.
364 375
365 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
366 for gimp, firefox, gedit at least, though. 377 for gimp, firefox, gedit at least, though.
367 378
368Async-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)
369 Allow C/XS libraries to interrupt perl asynchronously. 380 Allow C/XS libraries to interrupt perl asynchronously.
370 381
371 This is a module implementing a rarely-needed, very advanced technique 382 This is a module implementing a rarely-needed, very advanced technique
372 to interrupt a running perl interpreter from another thread, or similar, 383 to interrupt a running perl interpreter from another thread, or similar,
373 context, at very low overhead. 384 context, at very low overhead.
405 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
406 (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
407 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
408 IRC instead). 419 IRC instead).
409 420
410AnyEvent-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)
411 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
412 modules. Its design rationale is offering a 100% non-blocking 423 modules. Its design rationale is offering a 100% non-blocking
413 callback-based interface, RFC-compliant parsing and a lightweight 424 callback-based interface, RFC-compliant parsing and a lightweight
414 approach to modularity and reusability. 425 approach to modularity and reusability.
415 426
418 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).
419 430
420 Much effort was invested into these guards behaving "sensibly" in the 431 Much effort was invested into these guards behaving "sensibly" in the
421 presence of thrown exceptions, errors and other adverse conditions, as 432 presence of thrown exceptions, errors and other adverse conditions, as
422 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.
423 439
424Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) 440Net-IRC-Server cvs-pod(Net/IRC/Server.pm,)
425 This module provides a simple API for handling the IRC Protocol 441 This module provides a simple API for handling the IRC Protocol
426 aiming at implementing lightweight IRC-Servers. 442 aiming at implementing lightweight IRC-Servers.
427 443
537 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.
538 554
539Algorithm-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)
540 Perl module implementing forward error correction using Vandermonde matrices 556 Perl module implementing forward error correction using Vandermonde matrices
541 557
542AnyEvent 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)
543 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
544 and completion events, independent of a specific event loop. 560 and completion events, independent of a specific event loop.
545 561
546 <p>This module allows module authors to use those events internally 562 <p>This module allows module authors to use those events internally
547 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
566 <p>Lastly, AnyEvent::Handle offers a powerful framework for asynchronous and 582 <p>Lastly, AnyEvent::Handle offers a powerful framework for asynchronous and
567 buffered protocol handling. You can push multiple read event handlers 583 buffered protocol handling. You can push multiple read event handlers
568 to parse your protocol and start TLS/SSL negotiation transparently (and 584 to parse your protocol and start TLS/SSL negotiation transparently (and
569 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>
570 586
571AnyEvent-FastPing cpan cvs-pod(FastPing.pm,) list(anyevent) 587AnyEvent-FastPing cpan cvs-pod(FastPing.pm,) list(anyevent) irc(anyevent)
572 This module implements a very fast and relatively flexible 588 This module implements a very fast and relatively flexible
573 ping (ping as in icmp echo request). 589 ping (ping as in icmp echo request).
574 590
575 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
576 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
579 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
580 least-load principle. 596 least-load principle.
581 597
582 A command line utility (<tt>fastping</tt>) is included. 598 A command line utility (<tt>fastping</tt>) is included.
583 599
584AnyEvent-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)
585 A simple and plain event based http and https client. 601 A simple and plain event based http and https client.
586 602
587 This module implements a simple, stateless and non-blocking HTTP 603 This module implements a simple, stateless and non-blocking HTTP
588 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,
589 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
597 The caller is responsible for authentication management, cookies (if 613 The caller is responsible for authentication management, cookies (if
598 the simplistic implementation in this module doesn't suffice), referer 614 the simplistic implementation in this module doesn't suffice), referer
599 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
600 limited support. 616 limited support.
601 617
602AnyEvent-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)
603 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.
604 620
605 Despite its simplicity, you can securely message other processes running 621 Despite its simplicity, you can securely message other processes running
606 on the same or other hosts. 622 on the same or other hosts.
607 623
608 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.
609 625
610Coro-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)
611 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.
612 628
613 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
614 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
615 AnyEvent::MP. 631 AnyEvent::MP.
616 632
617 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
618 in AnyEvent::MP. 634 in AnyEvent::MP.
619 635
620AnyEvent-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)
621 A relatively simple wrapper around DBI to make asynchronous 637 A relatively simple wrapper around DBI to make asynchronous
622 SQL requests. 638 SQL requests.
623 639
624 This module implements asynchronous DBI access my forking or executing 640 This module implements asynchronous DBI access my forking or executing
625 separate "DBI-Server" processes and sending them requests. 641 separate "DBI-Server" processes and sending them requests.
626 642
627 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.
628 644
629AnyEvent-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)
630 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.
631 647
632 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
633 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
634 embeddable into other applications. The main objective was to make it 650 embeddable into other applications. The main objective was to make it
635 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.
636 652
637AnyEvent-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)
638 A RSS/Atom Feed aggregator. 654 A RSS/Atom Feed aggregator.
639 655
640 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
641 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
642 interface for simple feed readers. 658 interface for simple feed readers.
643 659
644AnyEvent-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)
645 Implementation of the Twitter API for AnyEvent. 661 Implementation of the Twitter API for AnyEvent.
646 662
647 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
648 by <a href="http://www.twitter.com">Twitter</a>. 664 by <a href="http://www.twitter.com">Twitter</a>.
649 665
650AnyEvent-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)
651 A Perl module that interfaces to the International Go Server. 667 A Perl module that interfaces to the International Go Server.
652 668
653 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
654 protocol. 670 protocol.
655 671
656AnyEvent-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)
657 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.
658 674
659 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
660 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
661 content edititing in event based programs that have a AnyEvent compatible 677 content edititing in event based programs that have a AnyEvent compatible
695 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
696 differently encoded messages. You basically throw files at it, and 712 differently encoded messages. You basically throw files at it, and
697 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
698 href="www.amavis.org">amavis virus scanner</a>. 714 href="www.amavis.org">amavis virus scanner</a>.
699 715
700Coro 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)
701 A large Perl module family that implements cooperative multitasking in 717 A large Perl module family that implements cooperative multitasking in
702 Perl. It supports filehandle and event abstraction and also implements 718 Perl. It supports filehandle and event abstraction and also implements
703 continuations as well as the necessary directives to implement a slightly 719 continuations as well as the necessary directives to implement a slightly
704 limited call/cc in Perl. 720 limited call/cc in Perl.
705 721
860 876
861 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,
862 capture stones, stores move history and can represent a variety of 878 capture stones, stores move history and can represent a variety of
863 additional annotations (circles, labels, grayed-out stones etc.). 879 additional annotations (circles, labels, grayed-out stones etc.).
864 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
865Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes) 887Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes)
866 A Perl module implementing a go board widget. 888 A Perl module implementing a go board widget.
867 889
868 This Perl module implements a beautiful go board (see <a 890 This Perl module implements a beautiful go board (see <a
869 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