下記のような実装が綺麗かも
sub merge_dup {
my @input_list = @_ == 1 ? @{$_[0]} : @_;
my @output_list = keys %{{map{$_=>1}@input_list}};
return wantarray ? @output_list : [@output_list];
}
▼流れ
・@input_listを
配列要素=>1,
の形式のハッシュにする
↓
・それを{}で囲んでハッシュレフに変換する
↓
・さらにそれを%{}で囲んでデリファレンスする
↓
・得られたハッシュのkeyのみを取り出せば重複なしリストの出来上がり