ハッシュへの代入。
ぼーっと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冊に分かれてから読んでないや。