The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta name="copyright" content="Copyright 1995-2006 Yusuke Kawasaki. All rights reserved.">
<meta name="description" content="Yusuke Kawasaki's homepage from Japan. Ajax/JavaScript/Perl/CGI/etc. technical articles and photos.">
<title>Kawa.net xp - ajax/JavaScript/Perl/CGI by Yusuke Kawasaki</title>
<link rel="alternate" type="application/rss+xml" title="RSS in English" href="http://www.kawa.net/rss/index-e.rdf" />
<link rel="alternate" type="application/rss+xml" title="RSS in Japanese" href="http://www.kawa.net/index.rdf" />
<link rel="alternate" type="text/html" hreflang="ja" title="Japanese" href="index-j.html" />
<link rel="icon" type="image/jpeg" href="http://www.kawa.net/xp/images/xp-title-128x32.gif" />
<link rel="stylesheet" type="text/css" href="./xp-top.css" />
<script src="http://www.kawa.net/works/js/jkl/js/jkl-parsexml.js"></script>
<script src="http://www.kawa.net/rss/recent-picasaweb.js"></script>
<script src="http://www.kawa.net/rss/recent-ajaxcom.js"></script>
<script src="http://www.kawa.net/rss/recent-ajaxtb.js"></script>
<script src="http://www.kawa.net/rss/recent-delicious.js"></script>
<script src="http://www.kawa.net/ad/random-banner.js"></script>
<script src="http://www.kawa.net/ad/random-button1.js"></script>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
</head>
<body onLoad="get_banner('top_banner');">

<!-- **************************************************************** -->

<table border="0" cellpadding="0" cellspacing="" width="100%">
<tr><td align="left">
<a href="http://www.kawa.net/"><img src="http://www.kawa.net/xp/images/xp-title-256.gif" border="0" alt="Kawa.net xp" width="256" height="48" /></a>
</td>
<td align="center" id="top_banner" height="60"></td>
<td align="right" nowrap>
<a href="index-j.html"><img border="0" src="http://www.kawa.net/xp/images/lang-jpn-24x16border.gif" alt="Japanese"></a>
<a href="index-e.html"><img border="0" src="http://www.kawa.net/xp/images/lang-eng-24x16border.gif" alt="English"></a>
<a href="http://www.kawa.net/rss/index-e.rdf" target="_blank"><img border="0" src="http://www.kawa.net/rss/images/rss-16x16.gif" alt="RSS"></a>
</td>
</tr></table>

<div id="mainarea" style="clear: both; border-top: 1px solid #2C08C5;">
<!-- **************************************************************** -->

<div class="content">
<ul id="news">

<li><a href="http://kawanet.blogspot.com/" target="_blank">Kawa.net Blog</a> is also started 
in addition to <a href="http://kawa.at.webry.info/" target="_blank">another blog</a> written in Japanese.</li>

<li>I moved my office from 
<a href="http://www.kappe.co.jp/" target="_blank">Kappe Inc.</a>
to
<a href="http://www.recruit.co.jp/corporate/english/">Recruit Co., Ltd.</a>
this August.
</li>

<li>I have wrote an
<a href="http://www.amazon.co.jp/o/ASIN/4774125792/kawanetxp-22/ref=nosim">
ajax book</a> and some other
<a href="profile-e.html#publications">articles</a>.</li>

</ul>

<!-- **************************************************************** -->
<script><!--
    google_ad_client = "pub-4789454999729711";
	google_ad_width = 728;
	google_ad_height = 90;
	google_ad_format = "728x90_as";
    google_ad_type    = "text_image";
    google_ad_channel = "7622526362";
    google_color_border = "2C08C5";
    google_color_bg   = "F0F8FF";
    google_color_link = "0000FF";
    google_color_url  = "008000";
    google_color_text = "000000";
//--></script>
<div style="text-align: center;">
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div>
<!-- **************************************************************** -->

<h2>WHAT'S NEW...</h2>

<!-- ******** kawa.net xp RSS ******** -->
<ul class="links">
<script src="http://www.kawa.net/rss/whatsnew-en.js" charset="UTF-8"></script>
<noscript><li>(JavaScript required)</li></noscript>
</ul>
<!-- ******** kawa.net xp RSS ******** -->

<h2>PERL...</h2>

<ul>

<li><a href="http://www.kawa.net/works/perl/html/tagparser-e.html">
HTML::TagParser - Yet another HTML tag parser</a><br/>
HTML::TagParser is a pure Perl implementaion for parsing HTML files.<br/>
</li>

<li><a href="http://www.kawa.net/works/perl/romanize/romanize-e.html">
Lingua::*::Romanize::*</a> - Romanization of CJK characters<br />
Lingua::JA::Romanize::Japanese module parses Japanese characters, both of Kanji and Kana.<br/>
Lingua::ZH::Romanize::Pinyin module parses Chinese characters, both of Mandarin and Cantonese.<br/>
Lingua::KO::Romanize::Hangul module parses Korean characters, Hangul.<br/>
And <a href="http://www.kawa.net/works/perl/romanize/roman-demo-e.html">
romanization demo</a> page is also availiable.</li>

<li><a href="http://www.kawa.net/works/perl/feedpp/feedpp-e.html">
XML::FeedPP - Parse/write/merge web feeds, RSS/RDF/Atom</a><br />
XML::FeedPP module parses a RSS/RDF/Atom file, converts its format, marges another files, and generates a XML file. </li>

<li><a href="http://www.kawa.net/works/perl/treepp/treepp-e.html">
XML::TreePP - A pure Perl implementation for parsing/writing xml file</a> <br />
XML::TreePP module parses a XML file and expand it for a hash tree.
This is a pure Perl implementation.
You can also download a XML file from remote web server like XMLHttpRequest of JavaScript.</li>

<li><a href="http://www.kawa.net/works/perl/catch/KCatch.pm.html">
KCatch.pm</a><br />
Catch the "die" and "warn" from your script to aboid "Internal Server Error", etc.<br />
download:
<a href="http://www.kawa.net/works/perl/catch/src/KCatch-1.13.tar.gz">
KCatch-1.13.tar.gz</a></li>

<li><a href="http://www.kawa.net/works/perl/phone/pnews.html">
phone.pl</a> (J)<br />
This module analyzes environment variables about the browsers on mobile phones and the carrier.
It is useful for CGI which is accessed by mobile phones. 
This is one of the most popular libraries 
for detecting wireless user agents in Japan.
</li>

<li>
<a href="http://www.kawa.net/works/perl/i18n-emoji/i18n-emoji.html">
Perl modules for processing I18N and mobile phone Emoji characters</a> (J)<br />
Useful Perl modules for internationalized 
text string (including UTF8, Shift_JIS, ISO-2022-JP (JIS),
and Latin1, EUC-JP, EUC-KR, Big5, GB2310 etc.)
and for also mobile phone 'Emoji' characters in Japan.
</li>

<li>
<a href="http://www.kawa.net/works/jcode/uni-escape.html">
Patches for escaping characters not included in Shift_JIS</a> (J)<br />
Some Japanese characters are included in Unicode but not in Shift_JIS.
These characters would be escaped
into &amp;#xHHHH; Uicode code reference format
for safety processing.
by adpot the patches for Jcode.pm and Unicode::Map modules.
</li>
<li>
<a href="http://www.kawa.net/works/qmail/queue-fast.html">
Display or delete files in qmail queue</a> queue-fast.pl (J)<br />
A perl script to display or delete files in qmail queue.
</li>

</ul>
<h2>AJAX...</h2>
<ul>

<li>
<a href="http://www.kawa.net/works/ajax/ajaxtb/ajaxtb-e.html">
AjaxTB - a pluggable trackback feature in static HTML page</a>
<br />
AjaxTB provides your static pages with trackback feature.</li>

<li>
<a href="http://www.kawa.net/works/ajax/ajaxcom/ajaxcom-e.html">
AjaxCom - one line comment box in static HTML page</a>
<br />
AjaxCom provides your pages with one line comment box.
You and your visiters can write comments in your static page!</li>

<li>
<a href="http://www.kawa.net/works/js/xml/objtree-e.html">
XML.ObjTree</a>
- JavaScript object from/to XML source code<br />
XML.ObjTree class is a parser/generater for XML source code and JavaScript object. 
This is a successor to JKL.ParseXML and a JavaScript version of XML::TreePP for Perl.
</li>

<li>
<a href="http://www.kawa.net/works/js/jkl/parsexml-e.html">
JKL.ParseXML</a>
- convert remote XML file into JavaScript object<br />
JKL.ParseXML is a JavaScript class to convert a remote XML file into JavaScript object (JSON).</li>

<li><a href="http://www.kawa.net/works/ajax/rss/rss-box-e.html">
RSS BOX in your website </a><br />
How to put a RSS BOX in your website.
</li>

<li><a href="http://www.kawa.net/works/ajax/tips/mimetype/content-type-e.html">
Content-Type: availablity on XMLHttpRequest </a><br />
Some of content-types are only available on many browsers' XMLHttpRequest.
</li>

<li><a href="http://www.kawa.net/works/ajax/tips/dump/dom-tree.html">
Expanding DOM tree (cross browser DOM inspector)</a><br />
I found a bug in XML parsing engines of 
<a href="http://www.kawa.net/works/ajax/tips/dump/icab-omniweb-bug.html">iCab and OmniWeb</a>.
</li>

</ul>
<h2>JAVASCRIPT...</h2>
<ul>

<li><a href="http://www.kawa.net/works/js/tips/yui-tooltips-e.html">
Link tooltip with website's thumbnail image</a><br />
Mash-up with Yahoo! UI Library's Tooltip widget and Simple API's thumbnail images.</li>

<li><a href="http://www.kawa.net/works/ajax/tips/crash-safari/intelmac-e.html">
One click to crash Safari for Intel Mac</a><br />
Just two lines of JavaScript code below crashes Safari for Intel Mac.</li>

<li><a href="http://www.kawa.net/service/jsan/search/index.html">
JSAN Search</a><br />
A yet another search engine for JavaScript libraries registered on JSAN.</li>

<li><a href="http://www.kawa.net/works/js/game/ncross-e.html">
Quick Sudoku Solving by JavaScript</a><br />
I think the most important thing of Sudoku is not getting its answer but is solving it.
However, ...</li>

<li><a href="http://www.kawa.net/works/js/animation/cube-e.html">
Animation.Cube - Rotating Cube Animation Effect</a><br />
This is a JavaScript library for a rotating cube animation effect.</li>

<li><a href="http://www.kawa.net/works/js/animation/raster-e.html">
Animation.Raster - Virtual Raster Scrolling Class</a><br />
This is a JavaScript library for a virtual raster scrolling effect.</li>

<li><a href="http://www.kawa.net/works/js/date/w3cdtf-e.html">
Date.W3CDTF - JavaScript Date object's W3CDTF extension</a><br />
Date.W3CDTF class understands the W3CDTF date/time format, an ISO 8601 profile.<br/>
This is my first library to be contributed to JSAN.
</li>

<li><a href="http://www.kawa.net/works/js/data-scheme/base64-e.html">
data: scheme generator / base64-encoded image file</a><br />
The data: scheme URI can contain binary data such as image.
</li>

<li><a href="http://www.kawa.net/works/greasemonkey/myscripts-e.html">
Greasemonkey User Scripts</a><br />
Some of my User Scripts for Greasemonkey.
</li>

<li><a href="http://www.kawa.net/works/js/passwd/gen-passwds-e.html">
Generating Random Passwords </a><br />
You can generate multiple number of passwords here.
</li>

</ul>

<h2>ASIAN LANGUAGES...</h2>

<ul>

<li><a href="http://www.kawa.net/works/ajax/romanize/japanese-e.html">
Romanization of Japanese (Kanji and Kana)</a><br />
The romanization of Kanji characters is not supported yet.
</li>

<li><a href="http://www.kawa.net/works/ajax/romanize/chinese-e.html">
Romanization of Standard Chinese and Cantonese (Pinyin)</a><br />
Chinese Romanization Web Service. (Mandarin and Cantonese)
</li>

<li><a href="http://www.kawa.net/works/ajax/romanize/hangul-e.html">
Romanization of Korean (Hangul) </a><br />
Korean Romanization Web Service.
</li>

<li>
<a href="http://www.kawa.net/works/cantonese/canton.html">
Ruby on Chinese</a> <i>older version</i><br />
This page provides &lt;RUBY&gt; taged HTML for Traditional Chinese string (BIG5-encoding).<br />
Ruby variations of Cantonese and Mandarin-Pinyin are available.<br />
Traditional Chinese font is required. (ex. MingLiU font on Windows)<br />
Tested on Internet Explorer only (not on Netscape).
</li>

<li>
<a href="http://www.kawa.net/works/cantonese/ccdict.html">
CCDICT Search</a><br />
Addition to Cantonese and Mandarin-Pinyin,
Hakka and English-translation are available, but no ruby here.<br />
And also multiple charset supported: 
Traditional Chinese (BIG5), Simplified Chinese (GB2312), 
Japanese (Shift_JIS) and Unicode (UTF-8).<br />
Based on CCDICT dictionary under Open Publication License.
(Thomas, Thanks!)
</li>

<li>
<a href="http://www.kawa.net/works/hangul/hangul.cgi">
Roman-to-Hangul Convertion Service</a><br />
Enter your name in alphabet! Hangul characters will be displayed.
</li>

</ul>

</div>

<!-- **************************************************************** -->
<div class="sidebar">
<dl><dt>
<a href="profile-e.html">Yusuke Kawasaki</a></dt>
<dd style="text-align: center; padding: 8px;">
<a href="profile-e.html"><img src="http://www.kawa.net/xp/images/mixi-3.jpg" width="180" height="180" border="0"></a>
</dd></dl>

<dl><dt>
<a href="http://picasaweb.google.com/www.kawa.net/" target="_blank">Recent 9 photos - Picasa Web Album</a>
</dt><dd id="recent_picasaweb" style="padding: 0;"></dd></dl>
<script>picasaweb_load('recent_picasaweb')</script>

<dl><dt>
<a href="http://www.kawa.net/service/com/ajaxcom-data/recent.xml" target="_blank">Recent 10 Comments</a> -
<a href="http://www.kawa.net/works/ajax/ajaxcom/ajaxcom-e.html">ajaxcom</a>
</dt><dd id="recent_ajaxcom"></dd></dl>
<script>get_ajaxcom('recent_ajaxcom')</script>

<dl><dt>
<a href="http://www.kawa.net/service/tb/ajaxtb-data/recent.xml" target="_blank">Recent 10 Trackbacks</a> -
<a href="http://www.kawa.net/works/ajax/ajaxtb/ajaxtb.html">ajaxtb</a>
</dt><dd id="recent_ajaxtb"></dd></dl>
<script>get_ajaxtb('recent_ajaxtb')</script>

<!-- ******** SiteSearch Google ******** -->
<form method="get" action="http://www.google.co.jp/custom" target="_top" style="padding: 0; margin: 0 0 4px 0;">
<dl><dt>Site Search - Google</dt><dd style="padding: 8px;">
<input type="text" name="q" size="20" maxlength="255" value="Enter here" onFocus="if(this.value=='Enter here')this.value='';" />
<input type="submit" name="sa" value="Search" />
<input type="hidden" name="domains" value="www.kawa.net" />
<input type="hidden" name="sitesearch" value="www.kawa.net" />
<input type="hidden" name="client" value="pub-4789454999729711" />
<input type="hidden" name="forid" value="1" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="hidden" name="oe" value="UTF-8" />
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:FFFFFF;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:256;L:http://www.kawa.net/xp/images/xp-title-256.gif;S:http://www.kawa.net/;FORID:1;" />
<input type="hidden" name="lr" value="lang_ja" />
<input type="hidden" name="hl" value="ja" />
</dd></dl>
</form>
<!-- ******** SiteSearch Google ******** -->

<dl><dt><a href="http://www.kawa.net/rss/index-e.rdf" target="_blank">Subscribe RSS Feed</a></dt><dd id="subscribe_rss" style="padding: 6px 0px 4px 6px;">
<a href="http://fusion.google.com/add?feedurl=http://www.kawa.net/rss/index-e.rdf" target="_blank" title="add to Google"><img border="0" width="38" height="16" src="http://www.kawa.net/rss/images/rss-add-google.gif" alt="add to Google"></a>
<a href="http://add.my.yahoo.com/rss?url=http://www.kawa.net/rss/index-e.rdf" target="_blank" title="add to My Yahoo!"><img border="0" width="38" height="16" src="http://www.kawa.net/rss/images/rss-add-yahoo.gif" alt="add to My Yahoo!"></a>
<a href="http://www.netvibes.com/subscribe.php?url=http://www.kawa.net/rss/index-e.rdf" target="_blank" title="add to netvibes"><img border="0" width="38" height="16" src="http://www.kawa.net/rss/images/rss-add-netvibes.gif" alt="add to netvibes"></a>
</dd></dl>

<dl><dt>
<a href="http://del.icio.us/kawa.net" target="_blank">Recent 10 Bookmarks - del.icio.us</a>
</dt><dd id="recent_delicious"></dd></dl>
<script>delicious_load('recent_delicious')</script>

<div style="float: left; width: 120px;">

<dl><dt>
<a href="http://www.amazon.co.jp/o/ASIN/4774125792/kawanetxp-22/ref=nosim" target="_blank">Recent Publication</a>
</dt><dd style="padding: 0px;">
<a href="http://www.amazon.co.jp/o/ASIN/4774125792/kawanetxp-22/ref=nosim" target="_blank"><img src="http://www.kawa.net/xp/images/ajax-118x158.jpg" width="118" height="158" border="0" alt="Ajax - basic techniques of developments" title="Ajax - basic techniques of developments"></a>
</dd></dl>

<dl><dt>
<a href="http://www.amazon.co.jp/o/ASIN/4844358707/kawanetxp-22/ref=nosim" target="_blank">Recent Article</a>
</dt><dd style="padding: 0px;">
<a href="http://www.amazon.co.jp/o/ASIN/4844358707/kawanetxp-22/ref=nosim" target="_blank"><img src="http://www.kawa.net/xp/images/books/mdn-javascript-118x158.jpg" width="118" height="158" border="0" alt="MdN Mook" title="MdN Mook"></a>
</dd></dl>

<ul>
</ul>

</div>

<div style="float: right; width: 120px;">

<dl>
<dt><a href="http://kawa.at.webry.info/200701/article_1.html" target="_blank">2007's Resolution "Yuru Yuru"</a></dt><dd style="padding: 0px;"><a href="http://kawa.at.webry.info/200701/article_1.html" target="_blank"><img src="http://www.kawa.net/xp/images/yuruyuru-118.gif" width="118" height="320" border="0" alt="Yuru Yuru" title="Yuru Yuru" style="margin: 0; padding: 0;"></a></dd>
</dl>

<!--
<div><iframe frameborder="0" allowtransparency="true" height="600" width="120" marginheight="0" scrolling="no" src="http://ad.jp.ap.valuecommerce.com/servlet/htmlbanner?sid=2297337&pid=874229023" marginwidth="0"><script src="http://ad.jp.ap.valuecommerce.com/servlet/jsbanner?sid=2297337&pid=874229023"></script><noscript><a href="http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=2297337&pid=874229023" target="_blank" ><img src="http://ad.jp.ap.valuecommerce.com/servlet/gifbanner?sid=2297337&pid=874229023" height="600" width="120" border="0"></a></noscript></iframe></div>
-->

<ul>
<li><script type="text/javascript"><!--
    google_ad_client    = "pub-4789454999729711";
    google_ad_width     = 120;
    google_ad_height    = 60;
    google_ad_format    = "120x60_as_rimg";
    google_cpa_choice   = "CAAQ7aqdzgEaCOkBK-qb06GEKNnH93M";
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></li>

<li><script type="text/javascript"><!--
    google_ad_client    = "pub-4789454999729711";
    google_ad_width     = 120;
    google_ad_height    = 60;
    google_ad_format    = "120x60_as_rimg";
    google_cpa_choice   = "CAAQj9n7zwEaCDz0ImVGb7W9KOe693M";
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></li>

<li id="skype_status"><a href="skype:kawa.kawa.kawa.kawa?call"><img src="http://mystatus.skype.com/smallclassic/kawa.kawa.kawa.kawa" border="0" width="114" height="20" alt="Skype"></a></li>

</ul>

</div>

</div>
</div>
<!-- **************************************************************** -->

<address>
Copyright 1995-2006 Kawasaki Yusuke &lt;u-suke [at] kawa.net&gt;
</address>

<script type="text/javascript">_uacct="UA-835919-3";urchinTracker();</script>
</body>
</html>