Hatena::ブログ(Diary)

半径5メートル このページをアンテナに追加 RSSフィード

           なかのひと

About | Archive | Group | Haiku | Bookmark | Fotolife | Designset | この日記のはてなブックマーク数
 | 

2007年11月08日

[]grepとmapの使い分け

「Effective Perl」でgrepとmapの使い分けについて学んだので簡単な纏めです。

#!/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,

「Effective Perl」は「初めてのPerl」「続・初めてのPerl」で一通り基礎的な事を学んだあと「じゃ、実際どういうときにどう使うんだろう」っていう段階にはピッタリな良著だと思います(まさに序章にあるように「赤ちゃん言葉(baby talk)」の段階を脱するのに最適な)。

[rakuten:book:10759860:detail]

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/srkzhr/20071108/1194539823
 |