Perlで配列を簡単にハッシュにする方法
読了まで:約1分
本日は
Perl で
my @array = ( foo, bar, baz );
my %hash = map { $_ => 1 } @array;
# %hash = ( foo => 1, bar => 1, baz => 1 );
みたいに
my @array = ( foo, bar, baz, foo, bar, baz, hoge, huga, moge );
my @array2 = keys map { $_ => 1 } @array;
# @array2 = ( foo, bar, baz, hoge, huga, moge );
ただしmap
やsplit
やgrep
なんかを
use CGI qw(path_info);
use URI::Escape;
my $path_info = join q{/}, map { &uri_escape($_) }, split q{/}, &path_info();
これはPATH_INFO
を
一行で
と
ちなみに、
追記 (2006-09-14-20:13:00+09:00)
コメント欄で
実際には
my @array = ( foo, bar, baz, foo, bar, baz, hoge, huga, moge );
my %hash = map { $_ => 1 } @array;
my @array2 = keys %hash;
# @array2 = ( foo, bar, baz, hoge, huga, moge );
と
あと
my @array = ( foo, bar, baz, foo, bar, baz, hoge, huga, moge );
my @array2 = do { my %t; grep !$t{$_}++ , @array };
でもできる