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

Comparing cvsroot/schmorpforge/genpage (file contents):
Revision 1.52 by root, Sat Jul 25 02:32:49 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<!--
116 <a title="Mach mit!" href="http://www.piratenpartei.de/navigation/politik/unsere-ziele">
117 <img src="http://res.tst.eu/denke_selbst.gif" alt="Werde Pirat!" width="468" height="60" border="0" />
118 </a>
119 <br />
120-->
108 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele"> 121 <a href="http://www.piratenpartei.de/navigation/politik/unsere-ziele">
109 <img src="http://www.piratenpartei-hessen.de/common/piratenbanner1" alt="Piratenpartei" border="0"/> 122 <img src="http://res.tst.eu/piraten1.png" alt="Piratenpartei" width="468" height="60" border="0" />
110 </a> 123 </a>
111 <br /> 124 <br />
112 <a href="http://www.deliantra.net/"> 125 <a href="http://www.deliantra.net/">
113 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/> 126 <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/>
114 <br /> 127 <br />
127</body> 140</body>
128</html> 141</html>
129EOF 142EOF
130} 143}
131 144
132sub res_irc {
133 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";
134 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";
135}
136
137$_ = <DATA>; 145$_ = <DATA>;
138for (;defined $_;) { 146for (;defined $_;) {
139 my ($name, @args) = split /\s+/; 147 my ($name, @args) = split /\s+/;
140 148
141 next unless $name; 149 next unless $name;
164<h2>Resources</h2> 172<h2>Resources</h2>
165<table class='resources'> 173<table class='resources'>
166EOF 174EOF
167 if (grep /git/, @args) { 175 if (grep /git/, @args) {
168 print <<EOF; 176 print <<EOF;
169<tr><td><tt class="icon">GIT</tt></td><td class='rr'><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browsable GIT repository '$name'</a></li></tr> 177<tr><td><tt class="icon">GIT</tt></td><td class='rr'><a href='http://git.ta-sa.org/git/$name/'>Browsable GIT repository '$name'</a></li></tr>
170<tr><td><tt class="icon">GIT</tt></td><td class='rr'>Read-only GIT checkout: <tt>&#160;git-clone http://git.ta-sa.org/$name.git</tt> 178<tr><td><tt class="icon">GIT</tt></td><td class='rr'>Read-only GIT checkout: <tt>&#160;git-clone http://git.ta-sa.org/$name.git</tt>
171</td></tr> 179</td></tr>
172<tr><td><tt class="icon">CVS</tt></td><td class='rr'>Contributor CVS access (command requires CVS version &gt;= 1.12.11):<br /> 180<!-- <tr><td><tt class="icon">CVS</tt></td><td class='rr'>Contributor CVS access (command requires CVS version &gt;= 1.12.11):<br />
173 <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt> 181 <tt>cvs -d ":ext;CVS_SERVER=git-cvsserver:USER\@ruth.plan9.de/gitroot/$name.git" co -d $name master</tt>
174</td></tr> 182</td></tr> -->
175EOF 183EOF
176 } else { 184 } else {
177 my $modules = $name; 185 my $modules = $name;
178 $modules = "$1" if grep /modules\((.*)\)/, @args; 186 $modules = "$1" if grep /modules\((.*)\)/, @args;
179 187
206 214
207</td></tr> 215</td></tr>
208EOF 216EOF
209 } 217 }
210 218
219 my @irc;
220
211 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"
212 if grep /dist/, @args; 222 if grep /dist/, @args;
213 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"
214 if grep /cpan$/, @args; 224 if grep /cpan$/, @args;
215 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"
216 if grep /cpan-elmex/, @args; 226 if grep /cpan-elmex/, @args;
217 for (@args) { 227 for (@args) {
218 if (/list\((.*)\)/) { 228 if (/list\((.*?)\)/) {
219 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";
220 } 230 }
231 if (/irc\((.*?)\)/) {
232 push @irc, $1;
233 }
221 } 234 }
222 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
223 print "</table>"; 241 print "</table>";
224 242
225 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) {
226 print "<h2>Additional Documents</h2><table class='resources'>"; 244 print "<h2>Additional Documents</h2><table class='resources'>";
227 245
267<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>
268<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>
269<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>
270<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>
271<!--<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>
272EOF 291EOF
273
274res_irc;
275 292
276print <<EOF; 293print <<EOF;
277</table> 294</table>
278 295
279<h2>Project List</h2> 296<h2>Project List</h2>
284 301
285print "</table>"; 302print "</table>";
286ftr; 303ftr;
287 304
288__DATA__ 305__DATA__
289rxvt-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)
290 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.
291 308
292 <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
293 <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>
294 <em>first</em>.</p> 311 <em>first</em>.</p>
357 readline tab-completion to enter filenames. 374 readline tab-completion to enter filenames.
358 375
359 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
360 for gimp, firefox, gedit at least, though. 377 for gimp, firefox, gedit at least, though.
361 378
362Async-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)
363 Allow C/XS libraries to interrupt perl asynchronously. 380 Allow C/XS libraries to interrupt perl asynchronously.
364 381
365 This is a module implementing a rarely-needed, very advanced technique 382 This is a module implementing a rarely-needed, very advanced technique
366 to interrupt a running perl interpreter from another thread, or similar, 383 to interrupt a running perl interpreter from another thread, or similar,
367 context, at very low overhead. 384 context, at very low overhead.
399 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
400 (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
401 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
402 IRC instead). 419 IRC instead).
403 420
404AnyEvent-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)
405 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
406 modules. Its design rationale is offering a 100% non-blocking 423 modules. Its design rationale is offering a 100% non-blocking
407 callback-based interface, RFC-compliant parsing and a lightweight 424 callback-based interface, RFC-compliant parsing and a lightweight
408 approach to modularity and reusability. 425 approach to modularity and reusability.
409 426
412 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).
413 430
414 Much effort was invested into these guards behaving "sensibly" in the 431 Much effort was invested into these guards behaving "sensibly" in the
415 presence of thrown exceptions, errors and other adverse conditions, as 432 presence of thrown exceptions, errors and other adverse conditions, as
416 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.
417 439
418Net-IRC-Server cvs-pod(Net/IRC/Server.pm,) 440Net-IRC-Server cvs-pod(Net/IRC/Server.pm,)
419 This module provides a simple API for handling the IRC Protocol 441 This module provides a simple API for handling the IRC Protocol
420 aiming at implementing lightweight IRC-Servers. 442 aiming at implementing lightweight IRC-Servers.
421 443
526 A fork of the unmaintained xcb (x cut buffers) program implementing better i18n. 548 A fork of the unmaintained xcb (x cut buffers) program implementing better i18n.
527 549
528lmainit cvs-co(NEWS) 550lmainit cvs-co(NEWS)
529 A sysvinit replacement that can even be configured to be sysvinit-compliant. 551 A sysvinit replacement that can even be configured to be sysvinit-compliant.
530 552
531 See <a href="http://www.goof.com/pcg/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.
532 554
533Algorithm-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)
534 Perl module implementing forward error correction using Vandermonde matrices 556 Perl module implementing forward error correction using Vandermonde matrices
535 557
536AnyEvent 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/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)
537 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
538 and completion events, independent of a specific event loop. 560 and completion events, independent of a specific event loop.
539 561
540 <p>This module allows module authors to use those events internally 562 <p>This module allows module authors to use those events internally
541 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
560 <p>Lastly, AnyEvent::Handle offers a powerful framework for asynchronous and 582 <p>Lastly, AnyEvent::Handle offers a powerful framework for asynchronous and
561 buffered protocol handling. You can push multiple read event handlers 583 buffered protocol handling. You can push multiple read event handlers
562 to parse your protocol and start TLS/SSL negotiation transparently (and 584 to parse your protocol and start TLS/SSL negotiation transparently (and
563 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>
564 586
565AnyEvent-FastPing cpan cvs-pod(FastPing.pm,) list(anyevent) 587AnyEvent-FastPing cpan cvs-pod(FastPing.pm,) list(anyevent) irc(anyevent)
566 This module implements a very fast and relatively flexible 588 This module implements a very fast and relatively flexible
567 ping (ping as in icmp echo request). 589 ping (ping as in icmp echo request).
568 590
569 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
570 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
573 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
574 least-load principle. 596 least-load principle.
575 597
576 A command line utility (<tt>fastping</tt>) is included. 598 A command line utility (<tt>fastping</tt>) is included.
577 599
578AnyEvent-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)
579 A simple and plain event based http and https client. 601 A simple and plain event based http and https client.
580 602
581 This module implements a simple, stateless and non-blocking HTTP 603 This module implements a simple, stateless and non-blocking HTTP
582 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,
583 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
591 The caller is responsible for authentication management, cookies (if 613 The caller is responsible for authentication management, cookies (if
592 the simplistic implementation in this module doesn't suffice), referer 614 the simplistic implementation in this module doesn't suffice), referer
593 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
594 limited support. 616 limited support.
595 617
618AnyEvent-MP cpan cvs-pod(MP.pm,) cvs-pod(MP/Intro.pod,Introduction/Tutorial) cvs-co(Changes) list(anyevent) irc(anyevent)
619 This Perl module (-family) implements a simple message passing framework for Perl.
620
621 Despite its simplicity, you can securely message other processes running
622 on the same or other hosts.
623
624 For an introduction to this module family, see the Intro manual page.
625
626Coro-MP cpan cvs-pod(MP.pm,) cvs-co(Changes) list(anyevent) irc(anyevent)
627 This Perl module extends the AnyEvent::MP API with a thread-like/erlang-style API.
628
629 This module implements a thread-like API to AnyEvent::MP that is closer
630 to Erlang than the event-based AnyEvent::MP API. It integrates well into
631 AnyEvent::MP.
632
633 See the AnyEvent::MP module and tutorial for info about the concepts used
634 in AnyEvent::MP.
635
596AnyEvent-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)
597 A relatively simple wrapper around DBI to make asynchronous 637 A relatively simple wrapper around DBI to make asynchronous
598 SQL requests. 638 SQL requests.
599 639
600 This module implements asynchronous DBI access my forking or executing 640 This module implements asynchronous DBI access my forking or executing
601 separate "DBI-Server" processes and sending them requests. 641 separate "DBI-Server" processes and sending them requests.
602 642
603 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.
604 644
605AnyEvent-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)
606 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.
607 647
608 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
609 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
610 embeddable into other applications. The main objective was to make it 650 embeddable into other applications. The main objective was to make it
611 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.
612 652
653AnyEvent-Feed cpan-elmex git-pod(lib/AnyEvent/Feed.pm,) git-co(Changes) list(anyevent) irc(anyevent)
654 A RSS/Atom Feed aggregator.
655
656 This module uses AnyEvent::HTTP and XML::Feed to fetch and parse RSS and Atom
657 feeds. It provides aggregation (detecting of new entries) to provide an easy
658 interface for simple feed readers.
659
660AnyEvent-Twitter cpan-elmex git-pod(lib/AnyEvent/Twitter.pm,) git-co(Changes) list(anyevent) irc(anyevent)
661 Implementation of the Twitter API for AnyEvent.
662
663 Provides a simple non-blocking API to access information (aka tweets) provided
664 by <a href="http://www.twitter.com">Twitter</a>.
665
613AnyEvent-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)
614 A Perl module that interfaces to the International Go Server. 667 A Perl module that interfaces to the International Go Server.
615 668
616 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
617 protocol. 670 protocol.
618 671
619AnyEvent-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)
620 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.
621 674
622 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
623 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
624 content edititing in event based programs that have a AnyEvent compatible 677 content edititing in event based programs that have a AnyEvent compatible
628 A Perl module that implements C++ STL-like binary heap operations. 681 A Perl module that implements C++ STL-like binary heap operations.
629 682
630Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes) 683Audio-Play-MPG123 cpan cvs-pod(MPG123.pm,) cvs-co(Changes)
631 A Perl module implementing an interface to mpg123. 684 A Perl module implementing an interface to mpg123.
632 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).
693
633Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes) 694Compress-LZV1 cpan cvs-pod(LZV1.pm,) cvs-co(Changes)
634 A Perl module implementing the LZV1 compression algorithm. See 695 A Perl module implementing the LZV1 compression algorithm. See
635 <tt>Compress::LZF</tt> for a better algorithm and module. 696 <tt>Compress::LZF</tt> for a better algorithm and module.
697
698Compress-LZF cpan cvs-pod(LZF.pm,) cvs-co(Changes)
699 A Perl module implementing the LZF compression algorithm, and simple
700 to use data structure serialising.
636 701
637Convert-CD cvs-pod(lib/Convert/CD.pm,) cvs-pod(bin/cvtiso,cvtiso) cvs-co(doc/) cvs-co(Changes) 702Convert-CD cvs-pod(lib/Convert/CD.pm,) cvs-pod(bin/cvtiso,cvtiso) cvs-co(doc/) cvs-co(Changes)
638 Unfinished Perl project implementing CD image formats. Extracting ISO images 703 Unfinished Perl project implementing CD image formats. Extracting ISO images
639 already works. 704 already works.
640 705
646 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
647 differently encoded messages. You basically throw files at it, and 712 differently encoded messages. You basically throw files at it, and
648 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
649 href="www.amavis.org">amavis virus scanner</a>. 714 href="www.amavis.org">amavis virus scanner</a>.
650 715
651Coro 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)
652 A large Perl module family that implements cooperative multitasking in 717 A large Perl module family that implements cooperative multitasking in
653 Perl. It supports filehandle and event abstraction and also implements 718 Perl. It supports filehandle and event abstraction and also implements
654 continuations as well as the necessary directives to implement a slightly 719 continuations as well as the necessary directives to implement a slightly
655 limited call/cc in Perl. 720 limited call/cc in Perl.
656 721
811 876
812 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,
813 capture stones, stores move history and can represent a variety of 878 capture stones, stores move history and can represent a variety of
814 additional annotations (circles, labels, grayed-out stones etc.). 879 additional annotations (circles, labels, grayed-out stones etc.).
815 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
816Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes) 887Gtk2-GoBoard cpan cvs-pod(GoBoard.pm,) cvs-co(Changes)
817 A Perl module implementing a go board widget. 888 A Perl module implementing a go board widget.
818 889
819 This Perl module implements a beautiful go board (see <a 890 This Perl module implements a beautiful go board (see <a
820 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
890 transfers (normal thttpd has problems with this). 961 transfers (normal thttpd has problems with this).
891 962
892wvsniff 963wvsniff
893 Undocumented but nicely working wavelan sniffer that I wrote for use 964 Undocumented but nicely working wavelan sniffer that I wrote for use
894 with my cisco aironet card. If you get it working, praise yourself. 965 with my cisco aironet card. If you get it working, praise yourself.
895
896ermyth cvs-pod(doc/poddoc/documentation.pod) cvs-co(Changes)
897 This is a fork of Atheme IRC Services.
898
899 Ermyth IRC Services is a set of Services for IRC networks that allows
900 users to manage their channels in a secure and efficient way and
901 allows operators to manage various things about their networks.
902 Ermyth has been ported to C++ and goes its way using modern concepts
903 and the object oriented paradigm.
904 966
905dhcpping cvs-pod(dhcping.pod,) 967dhcpping cvs-pod(dhcping.pod,)
906 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a> 968 A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a>
907 to support passing dhcp options. Intended to test dhcp server implementations. 969 to support passing dhcp options. Intended to test dhcp server implementations.
908 970
1018 1080
1019 <p>lsys is a full-featured program that understands most of the syntax 1081 <p>lsys is a full-featured program that understands most of the syntax
1020 of the original l-systems language, which is far more complex and 1082 of the original l-systems language, which is far more complex and
1021 powerful than most available l-system interpreters.</p> 1083 powerful than most available l-system interpreters.</p>
1022 1084
1023 <p>See <a href="http://www.goof.com/pcg/marc/lsys.html">the original homepage</a> 1085 <p>See <a href="http://home.schmorp.de/marc/lsys.html">the original homepage</a>
1024 for more explanations and some images. 1086 for more explanations and some images.
1087
1088ermyth cvs-pod(doc/poddoc/documentation.pod) cvs-co(Changes)
1089 This is a fork of Atheme IRC Services.
1090
1091 Ermyth IRC Services is a set of Services for IRC networks that allows
1092 users to manage their channels in a secure and efficient way and
1093 allows operators to manage various things about their networks.
1094 Ermyth has been ported to C++ and goes its way using modern concepts
1095 and the object oriented paradigm.
1096

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines