週末Script Kiddie
既存のスクリプトを改造したり組み合わせたりしかしない人をScript Kiddieと呼びますが、僕のPerlに関する知識は、まさにKiddieとしか呼べないほど幼稚なもの。
とはいえ、Perl以外に使い慣れた言語が沢山あるので、Perlをいじるときというのは、前任者がPerlでガリガリ書いてしまっていた場合や、どうしても使いたいコードがPerlで書かれていた場合に限られますが、Perlの特徴の一つはシェル向けのスクリプト言語なので理論上はなんでも組み合わせを記述できてしまう、という利便性にあるのかもしれません。僕がPerlをあんまり好きではないのは、文中にいきなりHTMLが現れたりするあたりとか、後付けのオブジェクト指向のあたり(あともちろん実行速度)なのですが、それこそ滅多に呼ばないようなことをさせるには往々にしてPerlの方が便利な場合があります。
その最たるものはCPANと呼ばれるライブラリ群でしょう。
CPANには基本的には凄く便利なものが沢山アップされているのですが、まあ最近はRubyにしろPHPにしろ便利なライブラリは沢山アップされています。
その中でもとりわけ僕が羨ましいと思ったのは、Win32::CaptureIEという、IEの出力をそのままキャプチャしてしまうライブラリです。
これは残念ながらまだRubyには存在せず、Javaでやろうとするとかなり難しいライブラリです。
もちろんWindowsプログラムを書けばすぐに作れますが、いまさらWin32-APIを復習したいとは全く思わないので、「既存のライブラリでできればかなり楽だわい」と思って導入してみました。
ところがこの導入がえらく面倒臭くて、忘れてしまいそうなのでいまのうちにメモを書いておきます。
いろいろ調べた結果、かぜぷろの日記とWeb ApplicationとPerlとLinuxを参考にするのが一番良いみたいでした。
Win32::CaptureIEはかなり昔からバージョン更新が止まっているので、結構どれも記事が古くてバージョンがマッチしなかったりするので注意が必要です。
手順としては、先ほどのページにもあるように
1:Active-Perlを入れる
2:Win32-OLEを入れる
3:ImageMagickのバイナリー版を入れる
(このとき、ftpサイトで迷子になりそうになりますが、binariesからDLL版をダウンロードしてインストールしましょう)
4:ppmでインストール
ここで先ほどのページにあるやり方でやろうとすると、僕の場合はなぜか「Image::Magickがない」と怒られたので、「c:¥>ppm gui」でGUI環境を起動し、設定画面の「Repositories」でLocationに「http://theoryx5.uwinnipeg.ca/ppms/」を追加(Nameは適当)して、Win32-OLEとWin32-ScreenshotとWin32-CaptureIEをそれぞれマークすると「PerlMagickが見つからない」とエラーで怒られますが、無視して「ctrl+enter」でインストール開始。
5.先ほどのブログページにあるサンプルコードを試す。
というわけで出来ました。
コマンドラインからppmインストールしようとすると、「PerlMagickがない」と怒られて先に進まなくなるのでGUI環境でやったらなぜかうまくいきました。謎ですね。
という一連の操作をMacBook ProのParallels上で行って見たのですが、グラフィックアクセラレータのないせいか、なかなか遅い。
mod_perlとかで常駐化すれば多少は速くなるんでしょうか。
あと、原理はScreenshotを取っているだけっぽいので、複数のスレッドが同時に動いたらきちんと動作するのか不安な部分もあります。まあ本当に本格的に使うならやっぱりWindowsアプリケーションでサーバを組むのが一番速くて安全そうですね。
でもやっぱり簡単にいろいろできてしまうと、それをベースにして他のことが考えられるので、研究者の人たちが好んでスクリプト言語を使う気持ちが解るようになってきました。
「とりあえずやってみたい」っていうのは動機として重要ですよね。
商売としてやるなら、どのみちキッチリ作り直し始めるタイミングがあるはずですからね
週末の会社でちょっとした息抜きでした
| 固定リンク
最近のコメント