How does Pod::WSDL work? If you instantiate a Pod::WSDL object with the
name of the module (or the path of the file, or an open filehandle)
providing the web service like this
my $pwsdl = new Pod::WSDL(source => 'My::Module',
location => 'http://my.services.location/on/the/web');
Pod::WSDL will try to find "My::Module" in @INC, open the file, parse it
for WSDL directives and prepare the information for WSDL output. By
calling
$pwsdl->WSDL;
Pod::WSDL will output the WSDL document. That's it.
This module provides functions that deals with formatting data with
Content-Type 'text/plain; format=flowed' as described in RFC2646
(http://www.rfc-editor.org/rfc/rfc2646.txt). In a nutshell,
format=flowed text solves the problem in plain text files where it
is not known which lines can be considered a logical paragraph,
enabling lines to be automatically flowed (wrapped and/or joined)
as appropriate when displaying.
In format=flowed, a soft newline is expressed as " \n", while hard
newlines are expressed as "\n". Soft newlines can be automatically
deleted or inserted as appropriate when the text is reformatted.
Markdown is a text-to-HTML filter; it translates an easy-to-read and
easy-to-write structured text format into HTML. Markdown's text format
is most similar to that of plain text email, and supports features such
as headers, *emphasis*, code blocks, blockquotes, and links.
Markdown's syntax is designed not as a generic markup language, but
specifically to serve as a front-end to (X)HTML. You can use span-level
HTML tags anywhere in a Markdown document, and you can use block level
HTML tags (like <div> and <table> as well).
Text::MultiMarkdown implements the MultiMarkdown markdown syntax
extensions from: http://fletcherpenney.net/multimarkdown/
This module implements an XML diff producing XML output. Both input and
output are DOM documents, as implemented by XML::LibXML.
The diff format used by XML::DifferenceMarkup is meant to be
human-readable (i.e. simple, as opposed to short) - basically the diff
is a subset of the input trees, annotated with instruction element nodes
specifying how to convert the source tree to the target by inserting and
deleting nodes. To prevent name colisions with input trees, all added
elements are in a namespace http://www.locus.cz/XML/DifferenceMarkup
(the diff will fail on input trees which already use that namespace).
This is a Perl extension to XML::Parser. It adds a new 'Style' to
XML::Parser, called 'Dom', that allows XML::Parser to build an Object
Oriented datastructure with a DOM Level 1 compliant interface.
The XML::XQL module implements the XQL (XML Query Language) proposal
submitted to the XSL Working Group in September 1998. The spec can
be found at
http://www.w3.org/TandS/QL/QL98/pp/xql.html
Most of the contents related to the XQL syntax can also be found
in the XML::XQL::Tutorial that comes with this distribution. Note
that XQL is not the same as XML-QL!
mod_proxy_html is an output filter to rewrite HTML links in a proxy
situation, to ensure that links work for users outside the proxy. It
serves the same purpose as Apache's ProxyPassReverse directive does for
HTTP headers, and is an essential component of a reverse proxy.
Note (for apache24 users):
mod_proxy_html has now been relicensed and incorporated into the core
Apache HTTPD distribution at apache.org from HTTPD 2.4. That version is
now likely to be more up-to-date than this one.
mod_extract_forwarded hooks itself into Apache's header parsing phase and looks
for the X-Forwarded-For header which some (most?) proxies add to the proxied
HTTP requests. It extracts the IP from the X-Forwarded-For and modifies the
connection data so to the rest of Apache the request looks like it came from
that IP rather than the proxy IP.
mod_extract_forwarded can be dangerous for host based access control because
X-Forwarded-For is easily spoofed. Because of this you can configure which
proxies you trust or don't trust.
"CGI::Session" is Perl5 library that provides an easy persistent session
management system across HTTP requests. Session persistence is a very
important issue in web applications. Shopping carts, user-recognition
features, login and authentication methods and etc. all require
persistent session management mechanism, which is both secure and
reliable. "CGI::Session" provides with just that. You can read the whole
documentation as a tutorial on session management. But if you are
already familiar with "CGI::Session" go to the methods section for the
list of all the methods available.
HTML::TagParser is a pure Perl implementaion for parsing HTML files.
This module provides some methods like DOM. This module is not strict
about XHTML format because many of HTML pages are not strict. You know,
many pages use <br> elemtents instead of <br/> and have <p> elements
which are not closed.
This module natively understands a character set of document by reading
its meta element.
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
The parsed document's encoding is converted as this class's fixed
internal encoding "UTF-8".
Mojomojo is a sort of content managment system, borrowing many concepts
from wikis and blogs. It allows you to maintain a full tree-structure
of pages, and to interlink them in various ways. It has full version
support, so you can always go back to a previous version and see what's
changed with an easy AJAX- based diff system. There are also a bunch of
other features like bult-in fulltext search, live AJAX preview of editing,
and RSS feeds for every wiki page.
To find out more about how you can use MojoMojo, please visit
http://mojomojo.org or read the installation instructions in
MojoMojo::Installation to try it out yourself.