The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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ü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.