# NAME

Hash::Rename - Rename hash keys

# SYNOPSIS

    use Hash::Rename;

    my %hash = (
        '-noforce' => 1,
        scheme     => 'http'
    );
    hash_rename %hash, code => sub { s/^(?!-)/-/ };

# DESCRIPTION

Using this module you can rename a hash's keys in place.

# FUNCTIONS

- `hash_rename`

This function is automatically exported. It takes a hash to rename and another
hash of instructions on how to rename they keys.

The syntax is like this:

    hash_rename %hash, key1 => 'value1', keys2 => 'value2';

The following instructions are supported:

    - `prepend`

        hash_rename %hash, prepend => '-';

    The given value is prepended to each hash key.

    - `append`

        hash_rename %hash, append => '-';

    The given value is appended to each hash key.

    - `code`

        hash_rename %hash, code => sub { s/^(?!-)/-/ };

    Each hash key is localized to `$_` and subjected to the code. Its new value
    is the result of `$_` after the code has been executed.

    - `strict`

    If present and set to a true value, the resulting keys are checked for
    duplicates. `hash_rename()` will die if it detects a duplicate resulting hash
    key. They keys of the hash to change are processed in alphabetical order.

If several instructions are given, they are processed in the order in which
they are described above. So you can have:

    hash_rename %hash, prepend => '-', append => '=';

# BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests through the web interface at
<http://rt.cpan.org>.

# INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

# AVAILABILITY

The latest version of this module is available from the Comprehensive Perl
Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN
site near you. Or see <http://search.cpan.org/dist/Hash-Rename/>.

# AUTHORS

Marcel Gr&uuml;nauer, `<marcel@cpan.org>`

# COPYRIGHT AND LICENSE

Copyright 2007-2009 by the authors.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.