<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GANCHIKU.com &#187; Perl</title>
	<atom:link href="http://ganchiku.com/category/perl/feed" rel="self" type="application/rss+xml" />
	<link>http://ganchiku.com</link>
	<description>renewal, baby!</description>
	<lastBuildDate>Wed, 16 May 2012 13:38:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>少しばかりAjaxな辞書ツール作った。</title>
		<link>http://ganchiku.com/2006/01/ajax.html</link>
		<comments>http://ganchiku.com/2006/01/ajax.html#comments</comments>
		<pubDate>Tue, 10 Jan 2006 16:39:10 +0000</pubDate>
		<dc:creator>shin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Movable Type]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.ganchiku.com/?p=52</guid>
		<description><![CDATA[英辞郎に飛ばすBookmarkletとかあるけども、あまりページを遷移したくないなぁ、という風に前から思っていた。 だって、何かの文章を読んでいるときに、一つわからない単語があって、Bookmarkletで訳を見るまでは &#8230; <a href="http://ganchiku.com/2006/01/ajax.html">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>英辞郎に飛ばすBookmarkletとかあるけども、あまりページを遷移したくないなぁ、という風に前から思っていた。</p>
<p>だって、何かの文章を読んでいるときに、一つわからない単語があって、Bookmarkletで訳を見るまではいいけども、その前の文章に戻ってきた際（戻るのもウザイ）、どこを読んでいたかわからなくなることがよくある。なので、ページの中に訳が出てきたらいいなぁ、なんて思ってみる。</p>
<p>Google Toolbarのマウスオーバー辞書ってのもあるんだけど、なんかひっかからないのが多くてちょっと嫌。イメージでは、こんな感じなんだけどなぁ。で、何かないかなぁ、と考えていたが、調べてもないので、<a href="http://www.ganchiku.com/2005/11/javascript.html">ブログをやり始めた頃に考えていたもの</a>を自分で作ってみることにした。</p>
<p>仕組みは簡単なので、誰でも簡単に作ることができると思うけど、なんで無いのかなぁ。ドイツ語と英語のやつはあったのに。ということでおうちでプログラミング。まぁ、作るのめんどくせーな、と思ってたけども、少しだけやる気になってみた。まぁ、perlのお勉強ですわ。</p>
<p>で、作ったものが、Ajaxな英和／和英辞書。<br />
って、別にAjaxでなくても、ボタンでポチットな、でよかったのだが。prototype.jsでも使ってみるか、と思っていてせっかくだったので、Ajaxな動きを取り入れてみた。</p>
<p>辞書ファイルは、EDICTを使用した。xyzzyでは、私も使っているけどもいい辞書ですね。そして、その辞書の検索には、私の学部時代の師匠が作った検索システムDiqtを使用させていただいた。で、それを学校の研究室のサーバにインストールをした。Diqtサーバは、そのまんま。XML RPCサーバにしてもいいかな、と思ったけどもとりあえず、自分のためだけのツールということでいじることは辞めた。気が向いたらするかも。</p>
<p>で、処理としては、JavaScriptで網掛け部分を取得し、マウスアップしたら網掛け部分をパラメータとしてリクエストを飛ばす。そのリクエストを受け取るサーバ（Diqtサーバのクライアント）は、受け取ったパラメータを加工して、DiqtサーバにHTTPリクエストを投げる。Diqtサーバからのレスポンスを、また少し加工して、JavaScriptのリクエストに対するレスポンスとして返す。そして、そのレスポンスを表示したい場所に入れる、と。</p>
<p>これで、網掛けに選択した言葉を瞬時に同じページに出力することができた。Ajaxの使用用途でこれは、間違ってないかな。あまり鬱陶しいインタフェースは使ってないし。ただ、リクエスト飛ばしすぎになってしまうのではないか、とちょっと思ってみる。</p>
<p>で、早速、このツールを自分のブログに当てはめてみる。どこでもいいが、選択すると、もし選択した単語に対応する訳があれば、それを右のメニューのDYNAMIC DIQTの下に出力する。半角英数を選択すれば、訳は日本語で。日本語を選択すれば、訳は英語が出るようにした。まぁ、悪くないね。もう少し整理したら、簡単なやり方とサンプルを MY WORKに置こうかな。</p>
<p>つか、なんで、Diqtサーバが別の環境を使っているかというと、今のレンタルサーバでは、容量50Mだし、Cで書かれたCGIスクリプトとか動かないだろうから。別にサーバに余裕があって、いろいろインストールできるのだったら、同じサーバでもいいか。</p>
<p>うーん。でも、こんなもの作りなんてすぐ終わっちゃうよね。もう少し規模の大きめなものを作りたいなぁ。<br />
まぁ、CPANのLWP, TokeParserの使い方を勉強したから、これはこれでいいか。</p>
<p>つか、絵を描かないと、文章だけじゃ何を言っているかわからんかな。<br />
<span id="more-52"></span><br />
ボタンでポチットなでも、Ajaxか。そのイベントをトリガーとして、ページの一部をサーバから受け取った値で書き換える訳だから。と、次の朝、読んでて思う。</p>
]]></content:encoded>
			<wfw:commentRss>http://ganchiku.com/2006/01/ajax.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jcodeのメモと久しぶりのPerlデビュー</title>
		<link>http://ganchiku.com/2006/01/jcodeperl.html</link>
		<comments>http://ganchiku.com/2006/01/jcodeperl.html#comments</comments>
		<pubDate>Sat, 07 Jan 2006 13:17:49 +0000</pubDate>
		<dc:creator>shin</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.ganchiku.com/?p=50</guid>
		<description><![CDATA[実は、初めてのPerlのエントリー。つか、普段からPerl使わないし。でも、使っているレンタルサーバでは、CGIの使用は許されているので、Perlを使ってみることにする。PHPはダメ動かなさそう。 つか、そもそもCGIが &#8230; <a href="http://ganchiku.com/2006/01/jcodeperl.html">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>実は、初めてのPerlのエントリー。つか、普段からPerl使わないし。でも、使っているレンタルサーバでは、CGIの使用は許されているので、Perlを使ってみることにする。PHPはダメ動かなさそう。</p>
<p>つか、そもそもCGIが動くと聞いているだけで、厳密にはperlだけとは限らないような気もするが、rubyでもCでもpythonでも、PHPでも、shでも、他の言語でもCGIスクリプトを書けばいいだけだが。</p>
<p>ええと、話がそれた。<br />
ちょっと今簡単なスクリプトを書いているのよ。で、PHPでやれば速攻なのだが、ちょっとブログに組み込もうかな、と思って、あと、ちょっと気分転換をするためにPerlをいじっちゃったりしているわけ。で、私も日本人なので、日本語を使用せなあかんのよ。むかーし、Perlを使っていたころは、jcode.plを使用していたけど、最近は、Perlな世界にもOOPが流行りつつあるようで、CPANモジュールのJcodeを使用してみた。<br />
まだ、深く読んでいないけど、ドキュメントは以下の通り。<br />
<a href="http://openlab.jp/Jcode/Nihongo.html">Jcodel</a></p>
<p>でね。<br />
コンストラクタで、</p>
<pre>
    $j = Jcode-&gt;new($str [, $icode]);
</pre>
<p>とか書いてあるんだけど、これって$icodeを書かなくてもいいってことだから、書かなかったのよ。そしたら、なんか特定の文字で、文字化けしているんだね。<br />
ソースでは、</p>
<pre>
    my $phrase = Jcode-&gt;new($params{'phrase'})-&gt;euc;
</pre>
<p>って感じでやってたら、「よう」とか、難しい漢字とか化けちゃって変換されないの。まぁ、PHPのmb_detect_encodingのも文字コードの判別にバグがあるから、こっちもあるのかな、って思って少しばかりあきらめつつ、ドキュメント読んでみたら、どの文字コードからということで、$icodeを指定できたので、次のように変更したらできた。</p>
<pre>
    my $phrase = Jcode-&gt;new($params{'phrase'},'utf8')-&gt;euc;
</pre>
<p>うーん。なるほどね。自動判別だとばかり思っていたけど、ちゃんと書かないといけないのね。</p>
<p>しかし、久しぶりにPerlを触るとなんだかめんどくさいね。PHPに慣れちゃって。昔なんて汚いコード書いていてCPANなんて使ったことなかったけど、せっかくライブラリあるし、自分で書くより洗練されているから使った方がいいよね。でも、なんだかPHPのPEARとPECLの両方の側面を持っていて、ちょっと嫌。Pure Perlで書かれたものでないとインストールで躓いちゃうから。</p>
<p>自分のサーバならインストール楽だけど、レンタルサーバだからインストールできなくて、FTPしか使えないかし。。。いくつかは、Pure Perlで書かれていて、パスが通るところに置けば動くみたいだけど、結構使いたいなぁ、と思うのは、ダメだったりするのだ。つーか、PHPのPEARだったら、インクルードパスに全部置いちゃえば、そこで使えただけに、ちょっとCPAN使いにくいなぁ、と思ってみる。ほとんど使ってないから、知らないだけかも。<br />
<span id="more-50"></span><br />
なんかいろいろ調べてて、perlで定数ってどう書くのかな、って検索してたら見つけた。<br />
<a href="http://eureka.prits.jp/resources/developer/perl_memo.html">Perl メモ</a><br />
定数関数、シンボルテーブル、constants.pmとあったけど、まぁ、使うなら定数関数か。。。</p>
<pre>
sub GIVEN_NAME  {'shin'}
</pre>
<p>みたいな感じだって。きもっ！subってのが、なんか気になる。。。<br />
ちなみに、勢いでオブジェクト指向で書くのやっちゃった。packageの中で普通に関数を作ればいいだけなのね。<br />
blessでハッシュのリファレンスを返すところは、なんか変な感じがしたが。</p>
]]></content:encoded>
			<wfw:commentRss>http://ganchiku.com/2006/01/jcodeperl.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

