2008年10月31日金曜日

DBI クイックリファレンス

http://www.rfs.jp/sb/perl/dbi/02.html

map : リスト置換処理

@list = qw/text1 text2 text3/;
@new_list = map { $_=~ s/text/word/; $_ } @list;

Perl:quotemetaの使い方

引数からすべての正規表現のメタ文字をバックスラッシュでエスケープしたものを返します。つまり、/[A-Za-z_0-9]/にマッチしない全ての文字の前にはロケールに関わらずバックスラッシュが前置されます。

print quotemeta('(\S+)\s'), "\n";
> \(\\S\+\)\\s

2008年10月30日木曜日

複数のPCのアドレスを一挙に調べる方法

for /L in (1,1,254) do ping -n 1 192.168.20.%f

arp -a

このコマンドは192.168.20.1~254のマシンに対して順番にpingを実行する。

2008年10月28日火曜日

リファレンスのリストから最初の要素を取り出してリストにする

use Data::Dumper;
use Text::CSV_XS;
my $csv = new Text::CSV_XS({binary => 1});
open IN, "< list.csv";
foreach(<IN>){
$csv->parse($_);
push( @id, [$csv->fields()]->[0]);
}
print Dumper @id;
close IN;

Perl:複数行にわたるコメントを簡単に

Java や C 等に用意されている /* コメント */ のように、複数行に渡るコメントを記述したい場合、 Perl では perldoc用の記述方である =pod と =cut を使用することで、複数にわたるコメントを記述できます。 (以下参照)

print "ここは実行されます。\n";
=pod
ここはコメント行になります。
ここもコメント行になります。
=cut
print "ここも実行されます。\n";

http://www.site-cooler.com/tips/perl_comments.htm