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

 | 

2007年11月12日

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,

 |