Marcel Grünauer > Hash-Rename-2.00 > Hash::Rename

Download:
Hash-Rename-2.00.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 2.00   Source  

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, instruction1 => 'value1', instruction2 => '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.

recurse

Each hash value that is itself a hash reference is renamed with the same arguments as the original hash.

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 => '=';

AUTHOR ^

The following person is the author of all the files provided in this distribution unless explicitly noted otherwise.

Marcel Gruenauer <marcel@cpan.org>, http://marcelgruenauer.com

CONTRIBUTORS ^

Masayuki Matsuki (@songmu) added the recurse option.

COPYRIGHT AND LICENSE ^

The following copyright notice applies to all the files provided in this distribution, including binary files, unless explicitly noted otherwise.

This software is copyright (c) 2014 by Marcel Gruenauer.

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

syntax highlighting: