sub genHash { my $hashn = shift; return "\%$hashn = (\n" . join(",\n", map { $key = $_; "'$key' => " . (ref $$hashn{$_} ? '{' . join(",\n", map { "'$_' => qq~" . safeTilde($$hashn{$key}->{$_}) . '~' } keys %{$$hashn{$key}}) . '}' : 'qq~' . safeTilde($$hashn{$key}) . '~' ) } keys %$hashn) . ");\n"; } sub safeTilde { my $code = shift; $code =~ s/\~/\\~/g; return $code; }