hideden.hatenablog.com

はてなぶろぐー。URLなげー。

ハッシュへの代入。

ぼーっとClass::DBIのソースを眺めてたら、

@data{@columns} = $self->get(@columns);

なんてのがあった。CSVファイルなんかをハッシュの配列にする時とかに、

my @tmp = split /\t/, $_;
push(@data, { id => $tmp[0], name => $tmp[1], age => $tmp[2], address => $tmp[3] });

とかやってたんだけど、

my @keys = qw/id name age address/;
my %tmp;
@tmp{@keys} = split /\t/, $_;
push(@data, \%tmp);

って書けるのねー。毎回コレ書くのめんどくせぇなぁって思ってたんだけど、やっぱこういう書き方があったとは。ちゃんと勉強しなきゃなぁぁぁ。

my @l_time = localtime(time);
printf "%02d:%02d:%02d\n", $l_time[2], $l_time[1], $l_time[0];

printf "%02d:%02d:%02d\n", (localtime(time))[2,1,0];

って書けるのを知ったのも割と最近だったりする。やっぱちゃんとラクダ本をもう一回読み直すべきかな。2冊に分かれてから読んでないや。