[Perl] => [配列]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク
Evaluates the BLOCK or EXPR for each element of LIST (locally setting $_ to each element) and returns the list value composed of the results of each such evaluation. In scalar context, returns the total number of elements so generated. Evaluates BLOCK or EXPR in list context, so each element of LIST may produce zero, one, or more elements in the returned value.

[書式]
map EXPR, LIST
map BLOCK LIST


[例]
#192.168.1.1から192.168.1.16
@host = map("192\.168\.1\.$_", 1..16);


#1から10の三乗
@third_power_of_each = map $_ * $_ * $_, 1..10;


# BLOCK使用例
#!/usr/bin/perl

use Data::Dumper;

@columns = qw/firstname lastname/;
@tokens = qw/Ichirou Jirou Saburou/;
my @result ;

foreach my $column (@columns) {
    push(@result, map { { $column => { '-like' => "%$_%"  } }; } @tokens);
}


print Dumper(@result);

#BLOCK出力結果
$VAR1 = {
          'firstname' => {
                           '-like' => '%Ichirou%'
                         }
        };
$VAR2 = {
          'firstname' => {
                           '-like' => '%Jirou%'
                         }
        };
$VAR3 = {
          'firstname' => {
                           '-like' => '%Saburou%'
                         }
        };
$VAR4 = {
          'lastname' => {
                          '-like' => '%Ichirou%'
                        }
        };
$VAR5 = {
          'lastname' => {
                          '-like' => '%Jirou%'
                        }
        };
$VAR6 = {
          'lastname' => {
                          '-like' => '%Saburou%'
                        }
        };


関連記事
無名配列 => 無名ハッシュのソート
配列をランダムに並び変え
配列の区切り文字
配列の差分
配列のソート
配列からユニークな要素の取り出し
map
grep - 文字列検索
unshift - 配列の最初に要素を追加するには
shift - 配列の最初の要素を取り除く
pop - 配列の最後の要素を取り除く
push - 配列の最後に要素を追加するには
reverse - 配列の順序を逆順にする
配列の個数を参照するには
広告