sub Dump { my @opts; for my $option (@dump_options) { no strict 'refs'; my $ref = \${$implementation.'::'.$option}; push @opts, [ $ref => defined($$ref) ? $$ref : ${"YAML::$option"}, ]; } local ${$_->[0]} = $_->[1] for @opts; return &{"$implementation\::Dump"}; }