perl小技
これもよく忘れる.
- directoryから特定のファイル(csv)だけ取り出して@filesに格納したい.
my $filedir = "directory"; opendir(DIR, $filedir) or die "can't find $filedir\n"; my @files = grep{/*\.csv/} readdir(DIR);
やってることは簡単で,readdir(DIR)は,ディレクトリハンドルDIRのファイルを配列で返してくる.grepは配列を受けてひとつずつ処理する.このとき,grepの引数に実は$_がはいっているのでやってることは$_ =~ /*\.csv/というパタンマッチ.ということで,うまく,目的のファイルであるcsvだけを取り出すことができる.