miau's blog?

«Prev | 1 | 2 | 3 | 4 | 5 | Next»

2006年 4月 27日 (木曜日)

Plagger

- Perl on miau's blog?
(2007-02-15 追記)

いつの間にか ppm でお手軽インストールできるようになっているようで。

しげふみメモ:Windowsで簡単にPlaggerをインストールする方法:

このアイテムはもはや不要だと思いますが、参考のために残しておきます。
(追記ここまで)


RSS を適当に加工してなんらかの形で出力、みたいなことを行う Perl モジュール。
blog 見たときは「フーン」くらいにしか思ってなかったんですが、先日 YAPC で「Plagger 使って、Bloglines の新着を Gmail で送ると便利だよ」宮川氏の話を聞いて、その有用性にようやく気づきまして。

とりあえず色々は置いといて、Bloglines を Gmail で、というサンプルどおりのものだけやってみることに。

でもこれが・・・やたら苦労しました。
どうも導入時期によって設定とかモジュールの依存関係とかが違うようで、検索した結果を参考にしてもなかなかうまくいかなかったりして。
どうせすぐ廃れる情報でしょうけど、一応メモっておきます。

ちなみに環境は ActivePerl 5.8.8.817。C コンパイラ等は一切なし。
[Read More!]
06:20:57 - miau - 1 comment - No Trackbacks - Permalink

2006年 3月 16日 (木曜日)

Cwd module

- Perl on miau's blog?
Perl で File::Find を使うことが多いと思うんですが。
Windows 環境で、日本語フォルダを使用している場合で、検索パスに「ソ」とか 2 バイト目が「\」な文字が含まれてる場合、実はうまく処理できてないことに気づきましたので、その対策方法とか。
[Read More!]
22:18:57 - miau - No comments - No Trackbacks - Permalink

2005年 10月 20日 (木曜日)

バイナリファイルの判定

- Perl on miau's blog?
今は保守っぽい仕事をやってるんですが、リリースのタイミングで更新のあったファイルだけをお客さんに送付することになっています。
そこで「ファイルの更新日時が特定の日時以降なら、そのファイルをコピーする」なんて Perl スクリプトを書いてます。

ところが、たまに「本番機の設定で送付しないといけないのに、開発機の設定のまま送付してしまう」なんてミスが起きてたので、NG-word 機能(ファイルに特定の文字 - 開発機の IP アドレスとか - が含まれていたら警告を表示する)を追加しました。
しばらくはちゃんと動作してたんですが、.xls や .png があると、警告が出まくることがわかりまして。

で、バイナリファイル検出方法で試行錯誤してたので、その対応の話。
[Read More!]
00:17:36 - miau - 5 comments - No Trackbacks - Permalink

2005年 9月 23日 (金曜日)

patch for PerlScript 5.8.7.813

- Perl on miau's blog?
(2006/09/24 追記)
タイトルの通り、このパッチは ActivePerl 5.8.7.813 以外には使えません。他のバージョンの PerlSE.dll でも有効そうな方法を書いてみましたので、こちらをお試しください。

patch for PerlScript 5.8.x.xxx - miau's blog?

以降は初稿のままです。


ほんのちょっと胡散臭いんですが、作ってみました。

PerlSE_5.8.7.813_patch.EXE

ActivePerl 5.8.7.813 付属の PerlSE.dll を変更して、2バイト文字等を使用してもエラーが出ないようにします。
使い方は、PerlSE.dll と同階層(C:\Perl\bin とか)に放り込んで実行するだけです。

よく考えるとファイル末尾に詰め物する方法は確実とはいえない気がしてきた(調べないとわからないけど、クリーンアップのときに Perl がスクリプト領域外も参照してしまう可能性がある?)ので、日本語を含むファイルは外部に切り出して require() するか、このパッチ当てるかしたほうがいい気もします。

以下、作ったときの苦労話(?)とか。
[Read More!]
22:31:06 - miau - No comments - No Trackbacks - Permalink

2005年 9月 06日 (火曜日)

WWW::Mechanize メモ

- Perl on miau's blog?
なんだか仕様を押さえきれていなくて無駄に時間かかってるのでメモ。
[Read More!]
02:41:06 - miau - No comments - No Trackbacks - Permalink

2005年 8月 01日 (月曜日)

XML::LibXML

- Perl on miau's blog?
どうもインストール方法を忘れがちなので、メモ。

ppm install http://theoryx5.uwinnipeg.ca/ppms/XML-LibXML.ppd


こんな感じで。

ついでに、HTML を読み込むときのための設定もメモ。

# パーサをセットアップし、誤ったHTMLを読み込んだ際に備えて
# 回復機能を有効にしておく。
my $parser = XML::LibXML->new();
$parser->recover(1);

(Spidering hacks のをまるまるコピーしただけ。)
15:23:38 - miau - No comments - No Trackbacks - Permalink

2005年 6月 08日 (水曜日)

/usr/local/bin/perl

- Perl on miau's blog?
たまに .cgi ファイルの改行コードを CRLF でアップロードしちゃって「そんなファイルありません」とか言われることがあると思いますが。

原理的には、.cgi の一行目が


#!/usr/local/bin/perl<CR><LF>

となっているところに、Linux が改行コードとして <LF> しか認識しないから
/usr/local/bin/perl<CR> を探す→見つからないから「file not found」なわけですよね。

でも「file not found」とか言われてもわかりにくいわけで。
対抗手段考えてみました。
[Read More!]
22:06:27 - miau - 4 comments - No Trackbacks - Permalink

2005年 4月 08日 (金曜日)

Amazon Web Services

- Perl on miau's blog?
Amazon Webサービス

ということで、使ってみました。 [Read More!]
04:29:35 - miau - No comments - No Trackbacks - Permalink

Amazon のレビューをまとめて読んだりとか

- Perl on miau's blog?
Amazon.co.jp のレビュー内容をネタにしようと思ったら件数が 100 件以上あって目的のレビューを探すのが面倒な場合とか、結構あったりします。
ので、一括取得するスクリプトとか書いてみました。
[Read More!]
04:12:40 - miau - No comments - No Trackbacks - Permalink

2005年 3月 19日 (土曜日)

鬱陶しいページとか

- Perl on miau's blog?
普通に色々ページ見てると、なんか鬱陶しいポップアップが出てきた。
ウィンドウが開いてじわじわ広がってく感じの。

# ちなみに見てたページ→ http://www.adpentel.co.jp/photoreading/
# エロじゃないですってば。

JavaScript とかで実装してるのかな?と思ってソースを見ると・・・なんか怪しげな関数読んでるけど、これは別ファイルで実装されているらしい。
ということで、参照部分を見てみると・・・
<script language="JavaScript" src="drop_lib.mid">

拡張子が .mid?

まぁいいや、と開いてみると・・・Windows Media Player が立ち上がりました。
・・・あー、なるほど。ソース参照させたくないわけね。

ということで、
>telnet www.adpentel.co.jp 80
GET /photoreading/drop_lib.mid HTTP/1.0


とか。
・・・HTTP/1.1 じゃないとダメ?小癪な。

まぁどこぞの業務のおかげで
>telnet www.adpentel.co.jp 80
GET /photoreading/drop_lib.mid HTTP/1.1
Host: www.adpentel.co.jp


とやればいいのはわかるけど、ここは Perler っぽく。
>perl -MLWP::Simple -e "getprint 'http://www.adpentel.co.jp/photoreading/drop_lib.mid'"


最初の telnet より楽だと気づきました。
今度からこっち使おう。


あ、JavaScript の部分はテーブルを CSS で座標位置指定→setInterval とかいう関数で位置調整、とかやってたっぽい。
このへんの知識、かなり穴になってるな・・・。
02:02:10 - miau - 5 comments - No Trackbacks - Permalink

2005年 3月 11日 (金曜日)

データ変換器

- Perl on miau's blog?
MASのページ - 自作のソフト

ここで公開されてるデータ変換器ってソフト、最近知ったんですけど。
Perl のスクリプトを実行して、データをちょこちょこ加工するのに便利です。

いちいち読み込み→実行っていう過程を経るのがちょっと面倒ではあるけど、クリップボードに対して処理することもできるので、なかなか。

実はこういうの作ろうと思ってたんだけど、考えていたのとほぼ同じ機能を備えてるので作る必要なくなって嬉しいような悲しいような。
02:00:08 - miau - No comments - No Trackbacks - Permalink

PerlEditor

- Perl on miau's blog?
PerlEditor

mixi の Perl コミュニティで紹介されてたので、試しに使ってみました。

んー・・・なんかイマイチ。

・一般のテキストエディタと同じレベルでしかハイライト表示できない
(Pod とか、正規表現部分とか、__DATA__ セグメントとかに問題あり)

・正規表現での置換ができないエディタは使う気にならない

・定型文入力機能はいいけど、Charu3 で入力してるので、特に必要ない

ってことで、「変数エクスプローラ」くらいしか使い道がないです。
まぁ変数がごちゃごちゃ入り乱れてるソースを読むときに使いやすいのかもしれません。
01:54:22 - miau - No comments - No Trackbacks - Permalink

2005年 2月 25日 (金曜日)

Pod の書き方

- Perl on miau's blog?
思いついたこととかメモ。
[Read More!]
01:04:57 - miau - No comments - No Trackbacks - Permalink

2005年 2月 23日 (水曜日)

ImageMagick

- Perl on miau's blog?
仕事で「ある Web ページを複製して別会社に提供する」みたいな要望がありまして。

まぁ HTML やら CGI のソースをファイルコピーするだけで実現できるんですが、新ページから旧ページの画像を参照とかしてないかチェックしたくて、新ページの方は画像の色相を変更することにしました。
[Read More!]
00:52:59 - miau - No comments - No Trackbacks - Permalink

Win32::IE::Mechanize と Win32::CaptureIE

- Perl on miau's blog?
CaptureIE もいいけど、やっぱり Mechanize っぽいインターフェイスが使いたいなと思いまして。
2 つを強引に連携させてみました。

まぁ両方とも OLE 使って IE 操作してるだけなので、ウィンドウハンドルを共有すれば結構あっさり実現できます。

(1) Win32::CaptureIE::StartIE() を真似て Win32::CaptureIE::SnapIE() なんて関数を作成
(2) 上記関数に Win32::IE::Mechanize のオブジェクトを渡す
(3) Mechanize 側の関数で画面遷移した場合は Win32::CaptureIE::GetDoc() を呼び出してなんか設定してやる

みたいな感じで。

でもやっぱり実装が汚い感じになってしまうわけで。
CaptureIE のほうのインターフェイス改善して欲しいなー、とか思ったりも。

あと上記 (3) の部分。
Mechanize 側の関数で画面遷移するたびに GetDoc() の呼び出しとか面倒だから、Aspect モジュールや Class::Trigger モジュールで一括設定とかできないかなーとか思ったりも。

まぁ結局 Mechanize の動作が重くてやる気喪失中なわけですが。
00:38:16 - miau - No comments - No Trackbacks - Permalink
«Prev | 1 | 2 | 3 | 4 | 5 | Next»