Home > 言語 > Perl Archive

Perl Archive

[Perl][CGI::Session] 復活するセッション!! - mod_perl & Apache::Registryは要注意!?

CGI::Session
CGI::Session

とある開発中のASPのテスト中の出来事。
CGI::Sessionで作ったセッションの値をクリアしているのに、別の画面にいくと復活している。
おかげで、後続の処理がおかしくなっていた。
最初は某K君曰くリダイレクトがうまくいってないのかも、という話だったのでそこら辺を疑ってみたがどうも解決しない。

Continue reading

[Perl][CPAN] CGI::Sessionで勝手にSessionIDが変わる件について

CGI::Session
CGI::Session

自分が以前に作ったPerlで動いているシステムで、テキストエリアに1000文字ほど入れると、セッションエラーになるというバグらしき報告をもらった。

色々試してみると、確かにある一定の文字数を超えるとエラーになるようでした。

最初は原因がわからず、プログラムのソースコードとにらめっこ。

うーん、わからん。

Continue reading

[Linux][Debian][Plagger] Debian 4.0r1 (etch) で Plagger を使う

PlaggerのDebianパッケージ
PlaggerのDebianパッケージ

PlaggerのDebianパッケージを作ってくれている方がいますのでこれまで利用させてもらってましたが、Debian 4.0r1にしたら libencode-perl がうんぬんと怒られてしまい、インストールできなくなってしましました。

そこでGoogle検索してみると equivs でダミーパッケージを作って対応すると良いらしいので試してみたところ、見事に成功しました。。

ってことで、手順をメモメモ。

Continue reading

[Perl][CPAN]インストール済みのCPAN モジュールを調べる

CPAN モジュールがインスコされたパスを調べる時
http://blog.livedoor.jp/nipotan/archives/50146747.html

CODE:
  1. perl -MDBD::Pg -e'print $INC{"DBD/Pg.pm"}, "\n"'

とか

CODE:
  1. perldoc -ml DBD::Pg

でいけるみたい。

CODE:
  1. sudo $EDITOR `perldoc -ml DBD::Pg`

こんな感じで編集もできるそうです。

自分はsudo cpan して i /^DBD::Pg$/ でサーチしてる。

[Perl][CPAN][Plagger] Plagger インストール まとめ

色々な環境に Plagger インストールしてみたので、その時の参考にしたページのメモです。

■ [Linux][Gentoo]

[Gentoo] g-cpan を使ってGentooに Plagger-0.7.17 をインストール ("I" novel?)
http://www.live-emotion.com/diary/?date=20061214

g-cpanを使ってがしがしいれる。emerge & eix & ebuild
つかいまくり。とりあえず真似して自分のマシンでも出来ました。結構素直にインストールできたかも。

[memo] GentooにPlaggerをインストール (Real Beat)
http://nobu666.com/2006/11/11/000439.html

こちらは以前参考にしてインストールしてみたんですが、CPANそのままつかってるので後々依存関係とかどうかな…と。

■ [Linux][Debian] ( debootstrap/chroot unstable sid 環境)

Debian に Plagger をインストール (SmallStyle)
http://www.smallstyle.com/20060828.html

Plagger-0.7.11のDebianパッケージ作りました (半袖野郎 blog.hansode.org)
http://blog.hansode.org/archives/50846115.html
http://debian.hansode.org/ (apt)

ばっちり動いてます。chroot環境です。既存の環境を汚しません。Debianな人にはおすすめ!

■ [Linux][Debian] ( srage )

Debian sargeでもPlaggerしたい (Greenbear Laboratory)
http://mono.kmc.gr.jp/~yhara/w/?PlaggerDebianSarge

Plagger をインストールしてみた。(活動日誌)
http://shakenbu.org/yanagi/d/20060909.html#p01

うちでは、CPANモジュールの依存関係が解決できなくて、インストールできませんでした。うーむ。

■ [Linux][Debian] ( etch )

こちらにまとめてあります。
[Linux][Debian][Plagger] Debian 4.0r1 で Plagger を使う

■ [Linux][Ubuntu]

Plaggerのインストール (Wiki Number8)
http://kony.no-ip.info/~kon/wiki/index.php?Plagger

■ [Windows XP][Cygwin]

[Plagger]Plagger を Cygwinにインストールしてみた ( oto-oto-oto日記)
http://d.hatena.ne.jp/oto-oto-oto/20060620
http://d.hatena.ne.jp/oto-oto-oto/20060624

[Plagger][Windows][Cygwin]WindowsのCygwin環境でPlaggerを使ってみよう (れいま@はてなダイアリー)
http://d.hatena.ne.jp/reima/20061008/1160282122
http://d.hatena.ne.jp/reima/20061123/1164275515

手元のXP(X64)では、うまく動作できなかったです。もう少しで使えるかも?!って感じです。引き続き調査を。

■ [Windows XP][ActivePerl]

Windowsで簡単にPlaggerをインストールする方法 (しげふみメモ)
http://blog.livedoor.jp/hakin/archives/50690272.html

ppm.tcool.orgで411エラーが出る件 (Charsbar::Note)
http://d.hatena.ne.jp/charsbar/20060905/1157386516

Plaggerのインストール迷宮を攻略しよう (Kazuhiro's Weblog)
http://kazuhiro.ty.land.to/blog/2006/11/plagger_1.html

また、以下のエラーのときの対応方法

perl.exe - エントリポイントが見つかりません。
プロシージャエントリポイント xmlTextReaderSchemaValidateがダイナミックリンクライブラリlibxml2.dllから見つかりませんでした。

libxml2.dll.a 1,060 kb 2006/06/10 04:36 C:\cygwin\lib
libxml2.dll 939 kb 2006/07/21 16:16 C:\Program Files (x86)\GIMP-2.0\bin
libxml2.dll 771 kb 2006/08/24 18:25 C:\Program Files (x86)\MySQL\MySQL Tools for 5.0
libxml2.dll 809 kb 2006/10/27 09:42 C:\Program Files (x86)\OpenOffice.org 2.1\program
libxml2.dll 813 kb 2005/01/22 19:28 C:\Program Files (x86)\Common Files\GTK\2.0\bin

以下を参考に。

[perl]Plaggerインストール続き (pomo123の日記)
http://d.hatena.ne.jp/pomo123/20060615/1150384476
http://www.zlatkovic.com/pub/libxml/

libxml2.dll 941 kb 2006/11/07 00:18 libxml2-2.6.27.win32.zip

↑ これいれるとOKっぽい。

また、よくわからずにperl.exeが落ちるときは、たぶん以下の問題。

[plagger][perl]Net::SSLeayに問題?httpsアクセスでperl.exeが落ちる (pomo123の日記)
http://d.hatena.ne.jp/pomo123/20061004

※ おまけ。

[2ch] Plagger中級
http://pc11.2ch.net/test/read.cgi/software/1148515419/

Software Design (ソフトウエア デザイン) 2006年 10月号 [雑誌]

Software Design (ソフトウエア デザイン) 2006年 10月号 [雑誌]

[Perl][CPAN] Template::Plugin::GD::Graph::pie3d ( Template-GD-2.66 ) の バグ

以前にASP開発中に発見した、Template::Plugin::GD::Graph::pie3d のバグ。
半年ぐらいたってるが、今のところCPANのファイルは更新されていない模様。

以下の追加すると、3Dの円グラフで,判例が正しく表示される。
(CPAN~インストールしたままだと、ARRAY(XXXX)みたいな文字が表示されるだけ。)

PERL:
  1. $ diff pie3d.pm.org pie3d.pm
  2. 51a52,59
  3. + sub set_legend
  4. + {
  5. +     my $self = shift;
  6. +     $self->SUPER::set_legend(ref $_[0] ? @{$_[0]} : @_);
  7. + }

こういうのは何処に連絡したらいいのかいまいちよくわからんです。作者でいいのかな?

続・初めてのPerl 改訂版

続・初めてのPerl 改訂版

[Perl][CPAN] HTML::FillInForm 1.06 のバグ

現在稼動中のASPでHTMLタグをエスケープするとなんかおかしくなるパターンがあったので、調べてみた。
どうやらHTML::FillInFormのバグっぽい。

INPUTタグの箇所でnameが同じ複数の項目に配列でセットすると、重複してHTMLタグがエスケープされるようです。

・template

HTML:
  1. <input type="text" id="flow_item_0" name="flow_item" size="55" maxlength="255"/>
  2. <input type="text" id="flow_item_1" name="flow_item" size="55" maxlength="255"/>
  3. <input type="text" id="flow_item_2" name="flow_item" size="55" maxlength="255"/>
  4. <input type="text" id="flow_item_3" name="flow_item" size="55" maxlength="255"/>
  5. <input type="text" id="flow_item_4" name="flow_item" size="55" maxlength="255"/>

・fill_formに渡す配列(Data::Dumperにて確認)

CODE:
  1. 'flow_item' => [
  2. '<a href="#">あ11</a>',
  3. '<a href="#">い22</a>',
  4. '<a href="#">う33</a>',
  5. '<a href="#">え44</a>',
  6. '<a href="#">お55</a>',
  7. ],

・出来上がるHTML

HTML:
  1. <input maxlength="255" value="<a href="#"/>あ11" name="flow_item" id="flow_item_0" type="text" size="55">
  2. <input maxlength="255" value="<a href="#">い22</a>" name="flow_item" id="flow_item_1" type="text" size="55"/>
  3. <input maxlength="255" value="<a href="#">う33</a>" name="flow_item" id="flow_item_2" type="text" size="55"/>
  4. <input maxlength="255" value="<a href="#">え44</a>" name="flow_item" id="flow_item_3" type="text" size="55"/>
  5. <input maxlength="255" value="&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;お55&amp;lt;/a&amp;gt;" name="flow_item" id="flow_item_4" type="text" size="55"/>

うっはーー!配列が増えると増えるだけエスケープされていくじゃん!!ひでー。

てことで、モジュールを以下のように変更。
うーん、これでほんとに大丈夫なんかなぁ…。

PERL:
  1. $ diff FillInForm.pm.org FillInForm.pm
  2. 305a306
  3. +       last;

実用Perlプログラミング
実用Perlプログラミング

[Perl][CPAN] DateTime モジュール

Data::FormValidatorの話してて思い出したんですが、Perlで日付とかのチェックとかなかなかめんどくさいので以下のようなCPANのモジュール使うと便利です。

Perlで日付・時間を操作 - DateTime モジュールの使い方
http://iandeth.dyndns.org/mt/ian/archives/000619.html

Date::Simple - Date::Simple - 簡単な日付オブジェクト。
http://perldoc.jp/docs/modules/Date-Simple-2.03/Simple.pod

ほかにも便利そうなのあったら誰か教えて!!

まるごとPerl! Vol.1
まるごとPerl! Vol.1

[Perl][CPAN] Template::Extract + XML::RSS で RSS 生成

TemplateToolkitの意外な使い方。何気に応用が利いて便利。
http://naoya.dyndns.org/~naoya/mt/archives/000833.html

Template::Extract という CPAN モジュールの話です。
テンプレートさえ用意できれば、ほとんどのサイトのデータをぶっこ抜きできるわけで。
RSS対応してない社内システム(簡単に直せない様なアレな時)とか静的コンテンツとかをRSS対応とかに使えますね~。

Template Toolkitにも、だいぶ慣れてきたところで、さらに夢がひろがりんぐ。

Perl Template Toolkit
Perl Template Toolkit

[Perl][CPAN][Plagger] Plagger インストール

一部で流行のPlaggerを会社の開発マシンにインストールしてみた。

といっても、かなり前に一度チャレンジしてたんだけど、インストールでこけて、そのまま放置だったです。で、ちょっと前に会社のY君が実際に使ってるの見せてもらって再びやる気が出たらしい(^^;

会社の開発マシンはGentooなので、以下の記事が参考になりました。
(幾つか事前にemergeしておかなければいけなかったらしい。)
http://nobu666.com/2006/11/11/000439.html

Debianだとインストールもapt-getで楽みたいなので、自宅のサーバ(構築中で放置中だけど)でも試してみよっと。

てことで、時間が出来たらPlagger使ってみようと思います。

はじめてのGentoo Linux
はじめてのGentoo Linux


Debian GNU/Linux徹底入門第3版 Sarge対応
Debian GNU/Linux徹底入門第3版 Sarge対応

ポチッとクリックでランキングお願いします!

Home > 言語 > Perl Archive

Translator
ドリコム ジョブボード
edita.jp
メタ情報

Return to page top