CPAN

日付が何曜日、何日、年初から何日め、年初から何週めになるかを求める

#!/usr/bin/perl use warnings; use strict; use utf8; use Time::localtime; use Date::Calc qw(Day_of_Week Week_Number Day_of_Year); # Time::localtime のインスタンスを生成 my $tm = localtime; my $year = $tm->year + 1900; my $month = $tm->mon +…

日付の取得方法について

#!/usr/bin/perl use strict; use warnings; use utf8; use Date::Simple; use Time::Piece; # Date::Simple を使ってみる # 今日の日付で昨日と明日の日付を取得する my $today = Date::Simple->new(); print 'Today is ', $today, "\n"; # 昨日の日付 prin…

Perl を実行しているプラットフォーム名を環境変数から取得する

「Mac OS X Leopard に WWW::Mechanize のインストールに失敗する」でエラーを調査するにしても、実行環境がわからないと、エラーを探しようもない。 調べていたら、下記のスクリプトで OS の名前が取得できる。 #!/usr/bin/perl use Config; print $Config{…

Mac OS X Leopard に WWW::Mechanize のインストールに失敗する

エラーに下記の一文があった。 //hint// to see the cpan-testers results for installing this module, try: reports PETDANCE/WWW-Mechanize-1.52.tar.gz なので、 % sudo cpan -i CPAN::DistnameInfo をインストールして確認をしてみる。インストール後、…

MacPorts を利用して WWW::Mechanize をインストールする

面倒くさいので、MacPorts で Perl をインストールしてしまい、WWW::Mechanize もインストールする。 % sudo port install perl5.8 % ls -l /opt/local/bin/perl -rwxr-xr-x 2 root admin 1186584 1 11 18:21 /opt/local/bin/perl % ls -l /opt/local/bin/cp…

YAML でハッシュ内の配列を読む

サンプル #!/usr/bin/perl use strict; use warnings; use utf8; use YAML::Syck; # 読込用 YAML データの準備 my $yaml = <<'END'; names: - Linux - FreeBSD - Mac OS X - Windows - OpenBSD END # YAML データをパースする my $configs = YAML::Syck::Loa…

正規表現で日本語と半角英数字の間にスペースを挿入する

「404 Blog Not Found:perl - 半角スペースを自動で入れる」を流用した。 #!/usr/local/bin/perl use strict; use warnings; use Encode; my $east = qr/(?!\p{M})(?:\p{Han}|\p{Katakana}|\p{Hiragana})/; my $west = qr/(?!\p{M})(?:\p{Latin}|\p{Greek}|\…

Perl の環境変数

HOME chdir が引数なしで使われたときに参照されます。 LOGDIR chdir が引数なしで使われたときに、HOME が設定されていないと参照されます。 PATH サブプロセスを実行するときと、`-S' を使ったときにスクリプトを探すために参照されます。 PERL5LIB Perl …

さくらサーバーの個人領域に CPAN をインストールする

CPAN 用のディレクトリを作成する % mkdir ~/perl % mkdir -p ~/.cpan/CPAN CPAN の設定ファイルを作成する % vim ~/.cpan/CPAN/MyConfig.pm $CPAN::Config->{cpan_home} = undef; $CPAN::Config->{makepl_arg} = 'PREFIX=~/perl'; $CPAN::Config->{histfile…

WWW::Mechanize

WWW::Mechanize - Perlオブジェクト中のハンディWebブラウザ Perlモジュール/WWW::Mechanize WWW::Mechanize::Plugin::Web::Scraperでスクレイピングをもっと簡単に スクレイピングツールを使って自動化テスト:WWW::Mechanizeの利用 use WWW::Mechanize;

YAML::Syck を使う

YAML の中身 host: http://www.yaoo.co.jp/ port: 80 users: - name: yourname pass: yourpass - name: yourname1 pass: yourpass1 テストコードの内容 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use YAML::Syck; use Data::Dumper;…

Net::Amazon をインストールする

# cd /usr/ports/net/p5-Net-Amazon # make fetch-recursive # make install clean

Net::Amazon を使ってみる

#!/usr/bin/perl use strict; use warnings; use utf8; use Net::Amazon; use Encode; my $query = shift; # DOS プロンプトからの入力のため # Shift-JIS から UTF-8に変換している $query = decode('shiftjis', $query); my $client = Net::Amazon->new( t…

Perl 5.8 での文字コードの取り扱い

perl - Encode 入門 perl - Encode 中級 perl/Encode - 7bit-jis != iso-2022-jp perl - no encoding; # whenever possible perl - use utf8; Perl 5.8.x Unicode関連

LWP::Simple 練習

ファイルの文字コードは UTF-8 で作成している。 単純に WEB ページを保存する #!/usr/bin/perl use strict; use warnings; use LWP::Simple; use utf8; my $url = 'http://www.excite.co.jp/'; # WEB ページを保存する # 保存された WEB ページの文字コード…

Perl で初めてのデータベース接続(DBI)

#!/usr/bin/perl # 下2行はおまじない use strict; use warnings; # データベースへ接続するためのモジュールを読み込む use DBI; # データソースの登録 my $db_source = 'DBI:mysql:mydatabase'; # ユーザー名 my $user = 'myname'; # パスワード my $pass…

インストールしている CPAN モジュールを調べる 2

% cat `/usr/bin/perldoc -l perllocal` | perl -nle '/C<Module> L<([^\|]*?)\|.*?>/ and print "$1"' | sort -u Archive::Tar Archive::Zip Class::Singleton CPAN DateTime DateTime::Format::W3CDTF DateTime::Locale DateTime::TimeZone Encode ExtUtils::MakeM</module>…

RSSを読み込み、パースさせて、ファイルに保存する

サンプルを模倣。 read_rss.pl #!/usr/bin/perl use strict; use warnings; use LWP::Simple 'get'; use XML::RSS; my $rss = new XML::RSS; eval { $rss->parse(LWP::Simple::get('http://weather.livedoor.com/forecast/rss/index.xml')); }; # $@ は eval…

Perl の文字コード変換について

Perl は文字コードの取り扱いに難儀した印象が強かったけれども、再度 Perl に触れてみることにした。 2008-05-08 perl - Encode-2.25 Released! 2008-04-09 perl - Encode 入門 2008-05-08 perl - Encode 中級 2008-05-11 perl - 文字参照を(en|de)codeする…

インストールしている CPAN モジュールを調べる

bash の場合 # すべてを表示する % find `perl -e 'print join("\n", @INC);'` -name *.pm # 行数を付加してすべてを表示する % find `perl -e 'print join("\n", @INC);'` -name *.pm | cat -n # 先頭 10行のみを表示する % find `perl -e 'print join("\n"…

CPAN の設定について

日本の CPAN サイト(CPAN/SITES 2008-05-12現在) ftp接続 ftp://ftp.u-aizu.ac.jp/pub/CPAN ftp://ftp.kddilabs.jp/CPAN/ ftp://ftp.nara.wide.ad.jp/pub/CPAN/ ftp://ftp.jaist.ac.jp/pub/CPAN/ ftp://ftp.dti.ad.jp/pub/lang/CPAN/ ftp://ftp.ring.gr.jp/p…

Web::Scraper と scrapi をインストールする

% sudo cpan install Web::Scraper % sudo gem install scrapi

THE API IS STOLEN FROM SCRAPI

WEB::Scraper の Description DESCRIPTION Web::Scraper is a web scraper toolkit, inspired by Ruby's equivalent Scrapi. THIS MODULE IS IN ITS BETA QUALITY. THE API IS STOLEN FROM SCRAPI BUT MAY CHANGE IN THE FUTURE Ruby の scrAPI を探そう。 L…

Web::Scraper

やりたいことは、このモジュールだけで大半が実現できそう orz まずはドキュメントを読もう。 Web::Scraper

CPAN モジュールをインストールする

自宅にあったオライリー社の「SPIDERING HACKS」を利用して、勉強の材料にする。 まずは、CPAN モジュールをインストールする。 % sudo cpan Password: cpan shell -- CPAN exploration and modules installation (v1.9205) ReadLine support enabled cpan[1…

男もすなる Perl というものを、女もしてみむとて、するなり。