sub rebind_closure { my $sub = shift; # Let Perl do the odd-numbered hash error handling for you! my %replacement_pairs = @_; my @rules = keys %replacement_pairs; my @replacements = values %replacement_pairs; # ... }