>>826 Perl5

for (<DATA>) {
 chomp;
 @a = split/\\/;
 sub {
  $k = shift @a;
  $_[0]->{$k} = {} unless exists $_[0]->{$k};
  __SUB__->($_[0]->{$k}) if @a;
 }->(\%h);
}
sub ($s, $r) {
 for (keys %$r) {
  print "$s$_\n";
  __SUB__->($s.' ', $r->{$_})
 }
}->('', \%h);
__DATA__
フグ亜目
フグ亜目\ハリセンボン科
フグ亜目\ハリセンボン科\ハリセンボン属
フグ亜目\ハリセンボン科\ハリセンボン属\ハリセンボン
フグ亜目\マンボウ科
フグ亜目\マンボウ科\クサビフグ属
フグ亜目\マンボウ科\クサビフグ属\クサビフグ
フグ亜目\マンボウ科\マンボウ属
フグ亜目\マンボウ科\マンボウ属\ウシマンボウ
フグ亜目\マンボウ科\マンボウ属\カクレマンボウ
フグ亜目\マンボウ科\マンボウ属\マンボウ
フグ亜目\マンボウ科\ヤリマンボウ属
フグ亜目\マンボウ科\ヤリマンボウ属\ヤリマンボウ