2008-06-01から1ヶ月間の記事一覧

Perlで文字列をMD5のハッシュ化をする

use Digest::MD5; my $str = "test"; my $md5_str = Digest::MD5->new()->add($str)->hexdigest;

PerlのHTML::EntitiesでHTML特殊文字をデコードする

Web::ScraperでHTMLをパースした時に&や'がHTML特殊文字に置き換わることが分かったので HTML::Entitiesのdecode_entities関数で元に戻す。 サンプル use HTML::Entities; my $html = "--&#39;--<a href='localhost'>test</a>--&#39;--&#38;--&#34;--"; print decode_entities($html)…

PerlからPHPにJSONを使ってデータを引き渡す

ハッシュやオブジェクトなどの複雑なデータ構造のものを引き渡すのにJSONを使うのが最適です。 PerlにJSONモジュールをインストール cpan cpan> install JSON PHP4にJSONモジュールをインストール(PHP5にはディフォルトで入ってる) PEAR版とPecl版があるが今…

Perlには複数行コメントがあったらしい・・・

=podと=cutで括れば複数行コメントの完成 perldoc用の記述方らしいです。 =pod print $val1; print $val2; =cut

Ubuntu Live CDでハードドライブのデータをサルベージする。

同僚のラップトップのWindowsが全く起動しないのでUbuntu7.04 Live CDを使って データをサルベージしてみる。 Live CDを起動して以下のコマンドでハードドライブをマウントする。 (ハードドライブがSCSIだと/dev/sda1でSATAだと/dev/hda1になる) mkdir /wind…

Perlのリファレンス参照

Perlでは変数などのアドレスは名前の前に\を付ければとる事が出来る。 アドレスからデータを参照する場合は$を付ける。 例1 my $name = "sodomojo"; my $address = \$name; print "$name $address $$address\n"; #結果 #sodomojo SCALAR(0x9406bf0) sodomojo…

Perlでハッシュの配列をソートする。

ハッシュの配列をsort関数でソートする。 サンプル use strict; use Date::Dumper; # データ my @array = (); $array[0] = { "id"=> 1, "time"=> 1213011545 }; $array[1] = { "id"=> 2, "time"=> 1213012384 }; $array[2] = { "id"=> 3, "time"=> 121300129…

PerlのWeb::ScraperでHTMLを簡単パース

PerlのScraperモジュールを使えばHTMLを簡単にパースできる。 Scraperをインストール #cpan cpan>> install Web::Scraper サンプルコード use Web::Scraper; use URI; use Data::Dumper;my $scraper = scraper { #tag内のテキストを抽出 process 'a', 'value…

Perlのハッシュプリント

ハッシュをforeachでトラバース sub print_hash(){ my(%hash) = @_; foreach my $key (keys %hash){ print "key:$key\tval:$hash{$key}\n"; } } というかDumperモジュールを発見。 use Data::Dumper; print Dumper %hash;

Perlのユーザーエージェントで自動情報収集

PerlのLWP::UserAgentを使ってHTTPリクエストを投げて情報収集を自動化できる。 例: HTMLの<a>タグの全てリンク先を取得 #!/usr/bin/perl use strict; use LWP::UserAgent; #Send HTTP Request my $url = "localhost/index.html"; my $method = 'GET'; my $ua =</a>…