/[suikacvs]/markup/html/whatpm/readme.en.html
Suika

Diff of /markup/html/whatpm/readme.en.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by wakaba, Wed May 2 13:44:33 2007 UTC revision 1.29 by wakaba, Sun Oct 5 06:42:04 2008 UTC
# Line 8  Technologies (beta)</title> Line 8  Technologies (beta)</title>
8  <link rel="author" href="#author">  <link rel="author" href="#author">
9  </head>  </head>
10  <body>  <body>
11  <h1>Whatpm (<em>beta</em>)</h1>  <h1>Whatpm &mdash; Perl modules for Web hypertext application technologies
12    (<em>beta</em>)</h1>
13    
14  <div class="section" id="introduction">  <div class="section" id="introduction">
15  <h2>Introduction</h2>  <h2>Introduction</h2>
16    
17  <p><dfn>Whatpm</dfn> is a set of Perl modules for  <p><dfn>Whatpm</dfn> is a <em>work-in-progress</em> set of
18  Web hypertext application technologies.</p>  <mark>P</mark>erl <mark>m</mark>odules for <mark>W</mark>eb
19    <mark>h</mark>ypertext <mark>a</mark>pplication
20    <mark>t</mark>echnologies.  It is part of the <a
21    href="http://suika.fam.cx/www/2006/manakai/" rel=up>manakai</a>
22    project.</p>
23    
24    <p>Whatpm supports various Web standard technologies, including <a
25    href="#modules-html">HTML, XHTML</a>, <a href="#modules-xml">XML</a>,
26    <a hreF="#modules-css">CSS</a>, <a href="#modules-http">HTTP</a>, and
27    <a href="#modules-url">URL</a>.
28    </div>
29    
30    <div class=section id=modules>
31    <h2>Modules</h2>
32    
33      <p>Note that all of these modules are <em>work in progress</em>
34      and have <a href="#todo">a number of unresolved problems</a>.</p>
35    
36      <p>Note also that some modules have no documentation for now.</p>
37    
38    <div class=section id=modules-html-xml>
39    <h3>Modules for HTML and XML</h3>
40    
41  <p>It currently contains two Perl modules:</p>  <p id=modules-html>Modules related to HTML and XHTML are as follows:
42    <dl>
43    <dt id=module-whatpm-html><a href="Whatpm/HTML.html"><code>Whatpm::HTML</code></a></dt>
44      <dd>An implementation of HTML5 document and fragment
45      parsing algorithms.  It can be used
46      to convert an arbitrary string into a
47      <abbr title="Document Object Model">DOM</abbr>.  (See also
48      <a href="#demo-html-parser">demo</a>.)</dd>
49    <dt id=module-whatpm-html-serializer><a href="Whatpm/HTML/Serializer.html"><code>Whatpm::HTML::Serializer</code></a></dt>
50      <dd>An implementation of HTML5 fragment serialization algorithm.
51      (See also <a href="#demo-html-parser">demo</a>.)</dd>
52    <dt><a href="Whatpm/HTMLTable.html"><code>Whatpm::HTMLTable</code></a></dt>
53      <dd>An implementation of the HTML5 table algorithm.  It can be
54      used to extract a table structure from a DOM <code>table</code>
55      element node.  (See also <a href="#demo-html-table">demo</a>.)</dd>
56    </dl>
57    
58    <p id=modules-xml>The module for <i>tentative</i> XML support is as follow:
59    <dl>
60    <dt><a href="Whatpm/XMLSerializer.html"><code>Whatpm::XMLSerializer</code></a></dt>
61      <dd>A simple XML serializer.</dd>
62    </dl>
63    
64    <p><i>Real</i> XML parser and serializer are currently not available yet.
65    
66    <p id=modules-cc>The module for conformance checking of a DOM tree (i.e.
67    a in-memory representation of an HTML or XML document) is as follows:
68    <dl>
69    
70    <dt><a href="Whatpm/ContentChecker.html"><code>Whatpm::ContentChecker</code></a></dt>
71    
72      <dd>A DOM5 HTML (in-memory representation of a document) conformance
73    checker with a partial support for Atom 1.0.  (See also <a
74    href="#demo-html-parser">demo</a> and <a
75    href="#app-webhacc">application</a>.)
76    
77    </dl>
78    
79    <p>Currently, conformance checking of HTML/XHTML and Atom documents
80    is supported.
81    
82    <p>For these modules, a DOM implementation that supports the manakai's
83    Perl binding<!-- @@ TODO: ref --> of DOM is necessary to represent a
84    document in memory.  The <a
85    href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
86    package contains such an implementation,
87    <code>Message::DOM::Implementation</code><!-- @@ TODO: ref -->, but it
88    should also be possible to use any other implementation that supports
89    the binding.
90    
91    </div>
92    
93    <div class=section id=modules-css>
94    <h3>Modules for CSS</h3>
95    
96    <p>Modules for CSS and related technologies are as follows:
97    <dl>
98    <dt><a href="Whatpm/CSS/Cascade.html"><code>Whatpm::CSS::Cascade</code></a>
99      <dd>A media-independent implementation of CSS cascading and value
100      computations.  (See also <a href="#demo-css-parser">demo</a>.)
101    
102    <dt><a href="Whatpm/CSS/MediaQueryParser.pm"><code>Whatpm::CSS::MediaQueryParser</code></a>
103    
104      <dd>A media query parser.  Note that only CSS 2.1 media types are
105    supported at the moment.
106    
107    <dt><a href="Whatpm/CSS/MediaQuerySerializer.pm"><code>Whatpm::CSS::MediaQuerySerializer</code></a>
108    
109      <dd>A media query serializer.  Note that only CSS 2.1 media types
110    are supported at the moment.
111    
112    <dt><a href="Whatpm/CSS/Parser.html"><code>Whatpm::CSS::Parser</code></a>
113      <dd>A CSS parser that constructs CSSOM trees from style sheets.  (See
114      also <a href="#demo-css-parser">demo</a>.)
115    <dt><a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a></dt>
116      <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of
117      selectors</a> parser.  (See also <a href="#demo-css-parser">demo</a>.)</dd>
118    <dt><a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a></dt>
119      <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of
120      selectors</a> serializer.  (See also <a href="#spec-ssft">specification</a>
121      and <a href="#demo-css-parser">demo</a>.)</dd>
122    <dt><a href="Whatpm/CSS/Tokenizer.html"><code>Whatpm::CSS::Tokenizer</code></a></dt>
123      <dd>A CSS tokenizer.  (See also <a href="#demo-css-parser">demo</a>.)</dd>
124    </dl>
125    
126    <p>For the <code>Whatpm::CSS::Parser</code> module reresenting a CSSOM
127    tree, modules in the <a
128    href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
129    package are used.  Those modules also provide the serializer for the
130    CSSOM tree, in the form of the standard <code>css_text</code> CSSOM
131    attribute.
132    
133    </div>
134    
135    <div class=section id=modules-http>
136    <h3>Modules for HTTP</h3>
137    
138    <p>Modules for HTTP and related technologies are as follows:
139  <dl>  <dl>
140  <dt><a href="Whatpm/ContentType.html"><code>Whatpm::ContentType</code></a></dt>  <dt><a href="Whatpm/ContentType.html"><code>Whatpm::ContentType</code></a></dt>
141    <dd>An implementation of HTML5 Content Type sniffing algorithm.</dd>    <dd>An implementation of HTML5 Content Type sniffing algorithm.</dd>
142  <dt><a href="Whatpm/HTML.html"><code>Whatpm::HTML</code></a></dt>  <dt><a href="Whatpm/IMTChecker.html"><code>Whatpm::IMTChecker</code></a></dt>
143    <dd>An implementation of HTML5 parsing algorithm and    <dd>An Internet Media Type (<abbr>aka</abbr> MIME type) label
144    <code>innerHTML</code> serialization.</dd>    conformance checker.</dd>
145    </dl>
146    
147    <p>Currently, support for parsing of HTTP headers and as such is not
148    yet available.
149    </div>
150    
151    <div class=section id=modules-url>
152    <h3>Module for URL</h3>
153    
154    <p>Module for the URL support is as follows:
155    <dl>
156    <dt><a href="Whatpm/URIChecker.html"><code>Whatpm::URIChecker</code></a></dt>
157      <dd>An IRI reference conformance checker.</dd>
158    </dl>
159    
160    <p>Support for HTML5's realistic definition of URL is not available yet.
161    </div>
162    
163    <div class=section id=modules-misc>
164    <h3>Modules for other technologies</h3>
165    
166    <p>Following modules provide support for other Web-related technologies:
167    <dl>
168    <dt><a href="Whatpm/CacheManifest.html"><code>Whatpm::CacheManifest</code></a></dt>
169      <dd>An
170      <a href="http://www.whatwg.org/specs/web-apps/current-work/#manifests">HTML5
171      cache manifest</a> parser.</dd>
172    <dt><a href="Whatpm/Charset/DecodeHandle.html"><code>Whatpm::Charset::DecodeHandle</code></a>
173      <dd>A filehandle-like wrapper <a href="#doc-handles">interface</a> to
174      decode byte stream encoded in some character encoding.
175    <dt><a href="Whatpm/Charset/UnicodeChecker.html"><code>Whatpm::Charset::UnicodeChecker</code></a>
176      <dd>A Unicode character string checker.
177    <dt id=whatpm-charset-universalchardet><a href="Whatpm/Charset/UniversalCharDet.html"><code>Whatpm::Charset::UniversalCharDet</code></a></dt>
178      <dd>A Perl interface to universalchardet character encoding detection
179      library.</dd>
180      <dt><a href="Whatpm/LangTag.html"><code>Whatpm::LangTag</code></a>
181        <dd>A language tag parser and conformance checker, supporting both
182        older RFC 3066 definition and latest RFC 4646 definition.  (See also
183        <a href="#demo-langtag">demo</a>.)
184    
185    <dt><a href="Whatpm/RDFXML.html"><code>Whatpm::RDFXML</code></a>
186      <dd>An implementation of RDF/XML by which RDF triples can be extracted
187      from RDF/XML documents.
188    
189    <dt><a href="Whatpm/WebIDL.html"><code>Whatpm::WebIDL</code></a></dt>
190      <dd>A WebIDL fragment parser.  It parses an IDL fragment, whether conforming
191      or not, and constructs a DOM-like object model for further processing.
192      Non-conforming (or broken) IDL fragment-like string will be parsed using
193      CSS-like error-tolerant parsing rules, e.g. ignoring anything until next
194      <code>;</code> character.
195    </dl>
196    </div>
197    
198    <!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and
199         Whatpm::XMLParser are intentionally omitted from the list. -->
200    </div>
201    
202    <div class=section id=documents>
203    <h2>Documents</h2>
204    
205    <p>For the description of functionalities provided by each module, see
206    <abbr>pod</abbr> documentation of the module.  HTML version of
207    <abbr>pod</abbr> documentations are linked from the <a
208    href="#modules">list of modules above</a>.
209    
210    <p>In addition, there are additional documents for some topics:
211    <dl>
212    
213    <dt><a href="http://suika.fam.cx/gate/2007/html/standards">Standards
214    supported by WebHACC</a>
215    
216      <dd>List and description of Web standards supported by the WebHACC
217    conformance checker.  Although it is a documentation for the WebHACC,
218    it is also applicable to Whatpm in general (note that WebHACC is an
219    interactive user interface for the conformance checking feature
220    provided by Whatpm).
221    
222    <dt><a href="http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types">List of error types</a></dt>
223    <!-- @@ TODO: Need to update the link - the document above is out of date -->
224      <dd>Description of errors to be notified to callback functions by Whatpm
225      modules.</dd>
226    
227    <dt><a href="Whatpm/CSS/selectors-object">Selectors object</a></dt>
228      <dd>Description of data structure for Selectors, as implemented by
229      <a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a>
230      (as output), and
231      <a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a>
232      (as input)<!--, and
233      <a href="http://suika.fam.cx/www/manakai-core/lib/Message/DOM/SelectorsAPI.html"><code>Message::DOM::SelectorsAPI</code></a>-->.</dd>
234    
235    <dt id=doc-user-data-names><a href="http://suika.fam.cx/gate/2005/sw/manakai/Predefined%20User%20Data%20Names">List of predefined user data names</a></dt>
236      <dd>List of user data names defined by Whatpm modules.</dd>
237    
238    <dt id=doc-handles><a href="Whatpm/Charset/handles">Handle objects</a>
239      <dd>Description of character or byte stream input handle interfaces.
240    </dl>
241    
242    <p>Following specifications define Whatpm-specific formats and extensions:
243    <dl id=spec>
244    <dt id=spec-ssft><a href="http://suika.fam.cx/www/markup/selectors/ssft/ssft"><abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
245    Specification</a></dt>
246      <dd>The specification for the serialization format used for
247      testing Selectors-related modules.</dd>
248    
249    <dt><a href="http://suika.fam.cx/gate/2005/sw/manakai/CSS%20Extensions">manakai's
250    CSS extensions</a>
251      <dd>The specification for <code>-manakai-<var>*</var></code> properties
252      and property values implemented by CSS-related modules.
253    <dt id=spec-manakai-selectors"><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's
254    Selectors extensions</a>
255      <dd>The specification for <code>:-manakai-<var>*</var></code>
256      pseudo-classes implemented by Selectors-related modules.</dd>
257  </dl>  </dl>
258  </div>  </div>
259    
260  <div class="section" id="demo">  <div class="section" id="demo">
261  <h2>Demo</h2>  <h2>Demo</h2>
262    
263  <p><a href="http://suika.fam.cx/gate/2007/html/parser-interface">HTML5 parser  <ul id=demo-html-parser>
264  demo</a></p>  <li id=demo-html-parser-nanodom><a href="http://suika.fam.cx/gate/2007/html/parser-interface">HTML5 parser
265    and checker demo</a>
266    (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/parser.cgi">source</a>,
267    with <a href="Whatpm/NanoDOM.html">a lightweight non-conforming
268    DOM implementation</a>)</li>
269    <li id=demo-html-parser-manakai><a href="http://suika.fam.cx/gate/2007/html/parser-manakai-interface">HTML5
270    parser and checker demo, with manakai's DOM implementation</a>
271    (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/parser-manakai.cgi">source</a>)</li>
272    <li id=demo-html-table><a href="http://suika.fam.cx/gate/2007/html/table-interface">HTML5 table
273    structure visualization demo</a>
274    (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/table.cgi">source</a>)</li>
275    
276    <li id=demo-css-parser><a href="http://suika.fam.cx/gate/2007/css/parser-interface">CSS
277    tokenizer, parser, and computed style computation demo</a>
278    (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/css/parser.cgi">source</a>)</li>
279    
280    <li id=demo-langtag><a href="http://suika.fam.cx/gate/2007/langtag/langtag-demo-interface">Language
281    tag parsing and conformance checking demo</a>
282    (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/langtag/langtag-demo.cgi">source</a>)
283    </ul>
284    </div>
285    
286    <div class=section id=applications>
287    <h2>Application</h2>
288    
289    <ul>
290    
291    <li id=app-webhacc><a
292    href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr>
293    (Web hypertext application conformance checker)</a> (See also <a
294    href="http://suika.fam.cx/gate/2007/html/cc-about"><cite>about
295    WebHACC</cite></a>)
296    
297    </ul>
298    </div>
299    
300    <div class="section" id="dependency">
301    <h2>Dependency</h2>
302    
303    <dl>
304    <dt id=dependency-perl>Perl 5.8 or later</dt>
305      <dd>It is recommended to use newer stable release of Perl 5.8 (or
306      later).</dd>
307      <dd id=dependency-encode>Some modules require <code>Encode</code>
308      modules, which are part of standard Perl distribution.</dd>
309    <dt id=dependency-manakai-core>Modules from
310    <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a></dt>
311      <dd>
312        <dl>
313    <dt id=dependency-error><a href="http://search.cpan.org/author/SHLOMIF/Error-0.17009/lib/Error.pm"><code>Error</code></a></dt>
314      <dd>Module <code>Whatpm::HTML</code> requires <code>Error</code>,
315      which is bundled in
316      <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
317    <dt><code>Message::IMT::InternetMediaType</code></dt>
318      <dd>Module <code>Whatpm::IMTChecker</code> depends on
319      <code>Message::IMT::InternetMediaType</code>, which is part of
320      <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
321    <dt><code>Message::URI::URIReference</code></dt>
322      <dd>Modules <code>Whatpm::URIChecker</code> and
323      <code>Whatpm::CacheManifest</code> depend on
324      <a href="http://suika.fam.cx/www/manakai-core/lib/Message/URI/URIReference.html"><code>Message::URI::URIReference</code></a>,
325      which is part of
326      <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
327      <dt><code>Message::Charset::Info</code></dt>
328        <dd>Module <code>Whatpm::ContentChecker</code> depends on
329        <a href="http://suika.fam.cx/www/manakai-core/lib/Message/Charset/Info.html"><code>Message::Charset::Info</code></a>,
330        which is part of
331        <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
332    <dt><code>Message::DOM::DOMImplementation</code>
333      <dd>Module <code>Whatpm::URIChecker</code> depends on
334      <code>Message::DOM::DOMImplementation</code>,
335        which is part of
336        <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.
337    <dt><code>Message::DOM::DOMImplementation</code> and related modules</dt>
338      <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>
339      depends on <code>Message::DOM::DOMImplementation</code> and related modules
340      in <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.
341      They are not required for any practical use of those modules.
342        </dl>
343      </dd>
344    <dt><a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
345    charlib</a></dt>
346      <dd>Module <code>Whatpm::Charset::DecodeHandle</code> depends on
347      modules in <a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
348      charlib</a> for decoding of <em>Japanese character encodings</em>.
349      See the documentation for
350      <a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
351      charlib</a> for more information.</dd>
352    <dt><a href="http://www.python.org/">Python</a>, Perl
353    <a href="http://search.cpan.org/~neilw/Inline-Python-0.22/"><code>Inline::Python</code></a>
354    module, and <a href="http://chardet.feedparser.org/">Universal Encoding
355    Detector</a></dt>
356      <dd>For the module <code>Whatpm::Charset::UniversalCharDet</code> being
357      meaningful, these softwares are required on the system.  See the
358      <a href="Whatpm/Charset/UniversalCharDet.html#dependency">documentation</a>
359      for more information.</dd>
360    <dt><a href="http://search.cpan.org/~makamaka/JSON-1.14/"><code>JSON</code></a></dt>
361      <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and
362      <code>Whatpm::CSS::Tokenizer</code>
363      depends on <a href="http://search.cpan.org/~makamaka/JSON-1.14/"><code>JSON</code> and related modules</a>.
364      They are not required for any practical use of those modules.
365    </dl>
366  </div>  </div>
367    
368  <div class="section" id="download">  <div class="section" id="download">
369  <h2>Distribution</h2>  <h2>Distribution</h2>
370    
 <p>Tarball will be available when setter for <code>innerHTML</code>  
 is implemented.</p>  
   
371  <p>The development version of Whatpm may be found in the  <p>The development version of Whatpm may be found in the
372  <a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/">CVS  <a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/">CVS
373  repository</a>.</p>  repository</a>.</p>
374    
375    <p><a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/whatpm.tar.gz?tarball=1">The
376    latest developmenet version of the Whatpm</a> is also available as a
377    tarball.
378    
379  </div>  </div>
380    
381  <div class="section" id="todo">  <div class="section" id="todo">
# Line 51  repository</a>.</p> Line 383  repository</a>.</p>
383    
384  <ul>  <ul>
385    <li>Bug fix (Test results:    <li>Bug fix (Test results:
386        <a href="t/content-type-result"><code>Whatpm::ContentType</code></a>,
387      <a href="t/tokenizer-result">HTML tokenization</a>,      <a href="t/tokenizer-result">HTML tokenization</a>,
388      <a href="t/tree-construction-result">HTML tree construction</a>)</li>      <a href="t/tree-construction-result">HTML tree construction</a>,
389    <li><code>innerHTML</code> setter</li>      <a href="t/content-checker-result"><code>Whatpm::ContentChecker</code></a>).</li>
390    <li>Charset detection</li>    <li>Merge with the <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>
391    <li><q>Whatpm</q> is a code name in fact.  Please let me know        code tree.
392      if you have a better name.</li>    <li>Charset detection.</li>
393    <li>Each module has its own TO DO list.</li>    <li>Validation for <code>meta</code>.</li>
394      <li>Validation for media queries (level 3), IRIs (against URI schemes),
395        and so on.</li>
396      <li>Documentations are missing for some features.</li>
397      <li>XML parser<!-- with application cache selection algorithm hook-->.</li>
398      <li>In addition, each module has its own TO DO items.
399        (Search for <q>## TODO</q> and <q>## ISSUE</q> in each module.)</li>
400  </ul>  </ul>
401  </div>  </div>
402    
403    <div class=section id=acknowledgments>
404    <h2>Acknowledgments</h2>
405    
406    <p>Thanks to the <a href="http://code.google.com/p/html5lib/">html5lib</a>
407    team for their
408    <a href="http://html5lib.googlecode.com/svn/trunk/testdata/">HTML5
409    parser test data</a>.</p>
410    </div>
411    
412  <div class="section" id="author">  <div class="section" id="author">
413  <h2>Author</h2>  <h2>Author</h2>
414    
415  <p><a href="http://suika.fam.cx/~wakaba/who?">Wakaba</a>.</p>  <p><a href="http://suika.fam.cx/~wakaba/who?" rel="author">Wakaba</a>.</p>
416  </div>  </div>
417    
418  <div class="section" id="license">  <div class="section" id="license">
419  <h2>License</h2>  <h2>License</h2>
420    
421  <p>Copyright 2007 Wakaba &lt;w@suika.fam.cx></p>  <p>Copyright 2007$B!>(B2008 Wakaba
422    <code class="mail">&lt;<a href="mailto:w@suika.fam.cx"
423        rel="author">w@suika.fam.cx</a>></code>.</p>
424    
425  <p>This library is free software; you can redistribute it and/or modify  <p>This library is free software; you can redistribute it and/or modify
426  it under the same terms as Perl itself.</p>  it under the same terms as Perl itself.</p>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.29

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24