新宿Perl -見習い編 このページをアンテナに追加 RSSフィード

 | 

2007年11月12日

テスト演算子の纏め 17:55 テスト演算子の纏め - 新宿Perl -見習い編 を含むブックマーク はてなブックマーク - テスト演算子の纏め - 新宿Perl -見習い編 テスト演算子の纏め - 新宿Perl -見習い編 のブックマークコメント

-e : ファイルが存在する
-z : 0バイトファイル
-s : 0バイトファイルじゃない

-f : 通常ファイル
-d : ディレクトリ
-l : シンボリックリンク
-T : テキストファイル
-B : バイナリファイル

-M : 最終更新日時からの日数
-A : 最終アクセス日時からの日数
-C : iノードが変更されてからの日数

用例は以下のように。

for my $file (glob '*') {
  print "$file\n" if -T $file;
}

grepとmapの使い分け 17:54 grepとmapの使い分け - 新宿Perl -見習い編 を含むブックマーク はてなブックマーク - grepとmapの使い分け - 新宿Perl -見習い編 grepとmapの使い分け - 新宿Perl -見習い編 のブックマークコメント

#!/usr/bin/perl

use strict;
use warnings;

chomp (my @list = `ls *.txt`);

# 元の要素から抽出したものだけのリスト
my @grepped = grep { /(.*)\.txt$/ } @list;
print join ",", @grepped, "\n";

# 元の要素のコピーから加工した別のリスト
my @mapped = map { /(.*)\.txt$/ } @list;
print join ",", @mapped, "\n";

# 元の要素自体を編集してしまう場合はfor/foreachを使うべき
s/\.txt/\.log/g for @list;
print join ",", @list, "\n";

実行結果

foo.txt,hoge.txt,var.txt,
foo,hoge,var,
foo.log,hoge.log,var.log,

 |