Stefan Hornburg (Racke)

NAME

Data::Transpose - iterate, filter and validate data, and transpose to different field names

DESCRIPTION

Caters to your needs for manipulating data by different operations, which are filtering records, iterating records, validating and transposing to different field names.

VERSION

Version 0.0015

SYNOPSIS

    use warnings;
    use strict;
    
    use Data::Transpose::Prefix;
    use Data::Dumper;
    
    my $data = {
        first => 'John',
        last  => 'Doe',
        foo   => 'bar',
    };
    
    my $dtp = Data::Transpose::Prefix->new(prefix => 'user.');
    foreach my $needs_prefix ( qw(first last) ) {
        $dtp->field( $needs_prefix );
    }
    
    my $output = $dtp->transpose( $data );
    
    print Data::Dumper->Dump([$data, $output], [qw(data output)]);

outputs:

    $data = {
              'first' => 'John',
              'last' => 'Doe',
              'foo' => 'bar'
            };
    $output = {
                'user.last' => 'Doe',
                'user.first' => 'John',
                'foo' => 'bar'
              };

REFERENCE

Validator

Data::Transpose::Validator

Iterator

Data::Transpose::Iterator

METHODS

new

Parameters for the constructor are:

unknown

Determines how to treat fields in the input hash which are not known to the Data::Transpose object:

fail

The transpose operation fails.

pass

Unknown fields in the input hash appear in the output hash. This is the default behaviour.

skip

Unknown fields in the input hash don't appear in the output hash.

This doesn't apply to the "transpose_object" method.

field

Add a new field object and return it:

    $tp->field('email');

group

Add a new group object and return it:

    $tp->group('fullname', $tp->field('firstname'), $tp->field('lastname'));

transpose

Transposes input:

   $new_record = $tp->transpose($orig_record);

transpose_object

Transposes an object into a hash reference.

AUTHOR

Stefan Hornburg (Racke), <racke at linuxia.de>

BUGS

Please report any bugs or feature requests at https://github.com/racke/Data-Transpose/issues. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Data::Transpose

You can also look for information at:

ACKNOWLEDGEMENTS

Todd Wade for mxcheck test failures fix (GH #5, #11) and improvements to documentation (GH #12, #13).

LICENSE AND COPYRIGHT

Copyright 2012-2015 Stefan Hornburg (Racke).

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.