CPAN
#!/usr/bin/env perl use strict; use warnings; use Getopt::Long; use Parallel::ForkManager; GetOptions( 'h|help' => \my $help, 'p|process=i' => \my $process, 'verbose' => \my $verbose, ) or pod2usage(); pod2usage() if $help; my $pm = Parall…
#!/usr/bin/env perl use strict; use warnings; use Coro; use Coro::LWP; use Data::Dumper; use WWW::Mechanize; my @coros = (); my @urls = qw|https://twitter.com/ https://www.pinterest.com/ http://www.apple.com/|; foreach my $url (@urls) { pu…
その前提として、 perlbrew で独自に Perl をインストールしている cpanm を使ってインストールする というのがある。 DBD::mysql をインストールする おそらく DBD::mysql をインストールするのに失敗し、「~/.cpanm/build.log」をみるようにメッセージが出…
結論としては、Amon2 で作成した雛形内に cpanm をインストールするところから、進められていない。理由は、「Nmake15.exe が 64 bit に対応していない」からだ。 前提 今回試してみた環境は次の通り。 Windows 7 64 bit SP1 ActivePerl 5.14.2 この ActiveP…
Windows 7 上で Perl を実行すると Perl.exe が初めてクラッシュした。思い当たることがなく、同じスクリプトを FreeBSD 上で実行すると Perl がクラッシュしてコアダンプを吐き出した。 % tail -f /var/log/messages Nov 18 13:43:49 myhost kernel: pid 83…
結論としては、インストールできないといわざるを得ないと考える。理由としては、DBD::mysql をインストールするのに必要なファイルが、XAMPP の MySQL では不足しているからだ。 % cpanm DBD::mysql でインストールをすると、mysql_config のパスがわからな…
#!/usr/bin/env perl # 日本語 use strict; use warnings; use LWP::UserAgent; use HTTP::Message; use utf8; my $board_list_url = 'http://www.example.com/'; my $ua = LWP::UserAgent->new; my $can_accept = HTTP::Message::decodable; my $response =…
WWW::Mechanize は、 HTTP レスポンスヘッダ部分の Content-type で設定されている charset HTTP レスポンスのボディに記述されている文字コードmeta 要素で設定されている Content-Type の charset を参照して、データの文字列を Perl 内部の文字列にデコー…
Slim3 の application_ja.properties にマルチバイトを記述するには、文字列を UTF-16LE に変換して16進数でダンプする必要があることに気が付いた。 この方法を Java でやる方法がわからなかったので、Perl で書いてみた。 #!/usr/bin/perl use strict; use…
通常の初期設定では、WWW::Mechanize は HTTP ステータスで 400 や 404 コードが返されると、WWW::Mechanize は die を起こして処理を中断してしまう。 そのため、400 や 404 コードが返された場合の処理が記述できない。 対応方法 use WWW::Mechanize; my $…
その前に cpanm で Image::Magick をインストールする環境は次のようになっている。 perlbrew で Perl 5.12.1 をインストールしている cpanm は perlbrew のインストール時にインストールされたもの手動で入れても、適宜設定を自分の環境に読み替えれば、成…
追記あり その後、下記の回避方法を使わずに、WWW::Mechanize をインストールできた*1。 昨夜、perlbrew でインストールをした Perl 5.12.1 に CPAN モジュールを追加していたら、WWW::Mechanize の依存モジュールのインストールに失敗した。 エラーログが、…
#!/usr/bin/env perl use strict; use warnings; use utf8; use Time::Local; sub timestamp2date { my $timestamp = shift; my ($sec, $min, $hour, $day, $mon, $year) = localtime($timestamp); return sprintf('%04d-%02d-%02d %02d:%02d:%02d', $year +…
WWW::Mechanizeは、通常の利用範囲ならば、メモリ消費量について問題にはならないと思う。 しかし、一回の実行で、数千回以上の URL アクセスを繰り返すようならば、WWW::Mechanize のメモリ消費量を考慮すべきである。考慮しないと、そのうちに Out of Memo…
Windows 版の ActivePerl は PPM(Perl Package Manager) から ImageMagick を利用できるようにすることができる。そのおかげで、単体で ImageMagick をインストールする必要がない。 1.まずは、DOS プロンプトから PPM を起動する DOS プロンプトが開いたら…
Tenjin は他のテンプレートエンジンと比較して動作が速いということで、試しに使ってみた。 しかし、テンプレートに含まれる日本語が文字化けしてしまう。 Tenjin の特徴として、 Ability to set the encoding of your templates is added. や encoding - An…
独自のモジュールを読み込ませて cron を実行するとエラーが出る場合がある。 原因は cron が実行する際のディレクトリが、cron の実行ユーザーのホームディレクトリになるため、任意のディレクトリを @INC に設定していてもエラーが発生する。 モジュールの…
パッチをあてて HTML::Tidy のインストールを試してみる まずは HTML::Tidy のソースをダウンロードする。 % mkdir ~/src % cd src % wget http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tidy-1.08.tar.gz --2010-03-09 23:46:54-- http://sea…
MacOS X には HTML::Tidy はインストールできないのか で HTML::Tidy のインストールに失敗すると書いた。先日、delphinus35 さんから、MacPorts を利用して Tidy をインストールされる際に生成される libtidy.a を使えば、HTML::Tidy をインストールできる…
PP は Pure Perl の略のようで、コンパイルする必要がないモジュールのため、レンタルサーバーでも利用することができる。 サンプルコード #!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; use DateTime; use XML::FeedPP; use Data::…
まずは普通にインストールをしてみて失敗をする % cpan -i HTML::Tidy Failed 18/20 test scripts. 68/75 subtests failed. Files=20, Tests=75, 1 wallclock secs ( 0.59 cusr + 0.15 csys = 0.74 CPU) Failed 18/20 test programs. 68/75 subtests failed.…
log4perl でファイルにログを残すのと、任意のレベル以上のエラーが発生した場合はメールを送信するように設定する。 簡易な設定ファイルの内容 log4perl.rootLogger = DEBUG, LogAppender, MAILER log4perl.appender.LogAppender = Log::Log4perl::Appender…
local::lib をダウンロードする % mkdir -p ~/local/var/db/pkg % wget http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/authors/id/A/AP/APEIRON/local-lib-1.004009.tar.gz % tar zxvf local-lib-1.004009.tar.gz % cd local-lib-1.004009/ BSDPAN のエラー…
# whereis p5-DBI p5-DBI: /usr/ports/databases/p5-DBI/Makefile # cd /usr/ports/databases/p5-DBI # make fetch-recursive # make install clean # whereis p5-DBD-Oracle # cd ../p5-DBD-Oracle/ # cd /usr/ports/databases/p5-DBI # make fetch-recursi…
参考 g-cpan Guide g-cpan とは g-cpan is a tool that generates and installs perl modules and bundles from CPAN "on-the-fly". http://www.gentoo.org/proj/en/perl/g-cpan.xml#doc_chap1 When you run g-cpan, it will check for two configuration fi…
前準備 % mkdir src % cd src % wget http://ftp.nara.wide.ad.jp/pub/CPAN/authors/id/A/AP/APEIRON/local-lib-1.004001.tar.gz 最新版の local::lib は http://ftp.nara.wide.ad.jp/pub/CPAN/authors/id/A/AP/APEIRON/ で確認をする。 CPAN の設定をする。…
Perl がアップグレードされた後に、CPAN モジュールが動かなくなる原因は、古いバージョンの環境変数 @INC を参照しているのが原因である。 FreeBSD では、古いバージョンの Perl から新しいバージョンの Perl へ CPAN モジュール群を読み込む @INC と、/var…
#!/usr/bin/perl use strict; use warnings; use Date::Simple; my $term = Date::Simple::date('2009-02-06') - Date::Simple::date('2009-02-04'); print $term, "\n", 実行結果 1 期間は、開始日から終了日まで何日存在するかを計算して。日数を返す。 そ…
#!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use LWP::UserAgent; use HTTP::Request::Common qw(POST); my $user = 'username'; my $pass = 'passowrd; my $url = 'http://www.example.com/cgi-bin/dummy.cgi'; my $referer = 'http:…
サンプル #!/usr/bin/perl use strict; use warnings; use utf8; use YAML::Syck; # ハッシュ -> 配列 -> ハッシュの # ネスト構造になっている場合 my $yaml = <