Home > Tags > perl
perl Tag Archive
Plagger を導入してみる
- 2007-02-27 (火)
- コンピュータ
今さらですが、サーバにPlagger を入れてみました。
Vine3.2はモジュールの導入に往生しますが、ハヤテのごとく!プライスレス の管理人blog Vine Linux に Plagger インストール を参考に、ちまちまとインストールしていったら無事に動きました。
……まぁ、HTTP::Cookies::Mozilla の導入時に、CPAN だとテストでエラーになるので、ソースから強引にインストールしましたが(^^;
で、何をやったのかというと、かにしのぷらねっとを試しに構築してみたり。スタイルシート借り物なので早くデザイン直さないとなぁ。
ま、これはともかく、Planet の構築自体がかなり簡単にできるので、仕事でも情報集めに重宝しそう。
- Comments: 0
- Trackbacks: 0
フレッツスクウェア へのルーティング
- 2007-02-18 (日)
- コンピュータ
NTT東日本フレッツ公式:フレッツ・スクウェア|接続方法|フレッツ・スクウェア接続方法(ADSL/Bフレッツ、ブロードバンドルータご利用のお客さま)で公開されているフレッツスクウェアのIPアドレス帯の情報を元に、YAMAHA RTシリーズ用の静的ルーティングコマンドを標準出力するスクリプト。
#!/usr/bin/perl use strict; use NetAddr::IP; use LWP::UserAgent; my $ua = LWP::UserAgent->new; $ua->agent("MyApp/0.1 "); my $req = HTTP::Request->new(GET => 'http://routing.flets/routing.html'); my $res = $ua->request($req); my @routing; if ($res->is_success) { @routing = split/\n/,$res->content; } else { print $res->status_line, "\n"; exit; } foreach (@routing) { if (/^Route[\d]+=Add,([\d]+\.[\d]+\.[\d]+\.[\d]+),([\d]+\.[\d]+\.[\d]+\.[\d]+),,1$/) { my $ip = new NetAddr::IP($1,$2); print "ip route ",$ip," gateway pp 2\n"; } } exit;
pp 2をフレッツスクウェアへの接続に利用している場合です。
あとは、
dns server select 100002 pp 2 any .flets dns server select 500001 外部DNSサーバ any . restrict pp 1
としてやると、URLに応じてDNSを切り替えてインターネットと、フレッツスクウェアに同時にアクセスできますとさ。YAMAHAヤマハブロードバンドルーターpp select 9あたりが参考になります。
- Comments: 0
- Trackbacks: 0
Net::Amazon のバージョンを上げてみた
CPANを覗いてみたらNet::Amazonのバージョンが0.36に上がっていたので、ローカル環境にインストールしてあるモジュールをアップデートしてみました。
数ヶ月前から、Amazonの書籍データからReleaseDateが取れていなかったのですが、今回のバージョンアップでは取れるようになりました。この辺はAmazonの仕様変更の影響なのかなぁ。
既存のスクリプトでは検索するカテゴリをbooks-jpのようにロケールを追加して指定していたのですが、本バージョンでは逆にロケールが付いているとエラーになって検索できなくなりました。もともとロケールはスクリプト内で指定してあるので、こっちが本来想定されていた動作なのかもしれませんが。
もう一つ、画像のURLを取得するためのオブジェクトが、説明ではImageUrlLarge() ImageUrlMedium() ImageUrlSmall()となっているのに、実際はLargeImageUrl() MediumImageUrl() SmallImageUrl()に変更になっているっぽかったり。あ、これはソース読めばいいのか。
まぁ、ともかくこれで今まで取れなかった、「データ上は存在するのに取得できない発売日」も正常に取得できるようになり、また楽ができるようになったというわけでなかなかいい感じです。さらに便利に使えるようになりたいものです。
- Comments: 0
- Trackbacks: 0
中継君の古いキャッシュが削除されないバグの修正
Amazon Searchの負荷軽減に使用している中継君 Ver1.4.3で、Ver.1.3.0から利用可能になった保存キャッシュの上限設定がうまく動かなかった症状を修正しました。
ソースを見てみると、実際に生成されるキャッシュのファイルの拡張子*1と、削除しようとするキャッシュのファイルの拡張子*2が異なっているため、古いキャッシュが削除されないまま、結果新しいキャッシュが生成されないようになってしまっています。
とりあえず、簡単な書き換えでさくっと対応。
$ diff -ur jc.cgi.org jc.cgi --- jc.cgi.org 2006-12-20 20:56:52.000000000 +0900 +++ jc.cgi 2006-12-20 20:59:40.000000000 +0900 @@ -142,8 +142,10 @@ } else { $ch = $erace_cf; - $cache = 'cache/' . $ch . '.js'; - unlink($cache); + my @cache; + push @cache , 'cache/' . $ch . '.dat'; + push @cache , 'cache/' . $ch . '.typ'; + unlink(@cache); # ファイルリスト更新 if ( !open (OLD,"cache/filelist") ) {
しばらく動かしてみた感じでは、古いデータはしっかりと削除され、本来期待される動作になったと思います。
- Comments: 2
- Trackbacks: 0
Home > Tags > perl
