Catalyst::Dispatcherを見ていたら二項演算子(Multiplicative Operators)スライスを使ったハッシュの初期化をみつけた。 @{ $self->registered_dispatch_types }{@classes} = (1) x @classes; で、これを分かりやすく変えると下記のようになります。 use Data::Dumper; my @keys = qw( a b c ); my %hash; @hash{ @keys } = (1) x @keys; print Dumper \%hash; $VAR1 = { 'c' => 1, 'a' => 1, 'b' => 1 }; 要は配列をハッシュのキーにして、値は1だよと。 良く判定系の処理をするときに、配列をぐるぐる回して一致するか?とかやりたくないので、 一度ハッシュに突っ込んでから、