NAME
ETL::Pipeline::Output::Perl - Execute arbitrary Perl code against every record
SYNOPSIS
use ETL::Pipeline;
ETL::Pipeline->new( {
input => ['UnitTest'],
mapping => {First => 'Header1', Second => 'Header2'},
output => ['Perl', code => sub { say $_->{First} }]
} )->process;
DESCRIPTION
ETL::Pipeline::Output::Perl runs arbitrary Perl code for every record. It comes in useful when debugging data issues or prototyping a new technique.
Your code receives two parameters - the ETL::Pipeline object and the current record. These are the same arguments passed to "write". The current record is a Perl hash reference.
METHODS & ATTRIBUTES
Arguments for "output" in ETL::Pipeline
code
Required. Assign a code reference to this attribute. The code receives two parameters. The first one is the ETL::Pipeline object. The second is a hash reference with the current record.
The code reference can do anything you want. If you need setup or shut down, then create a custom output destination instead.
Methods
close
This method doesn't do anything. There's nothing to close or shut down.
open
This method doesn't do anything. There's nothing to open or setup.
write
Executes the subroutine in "code". The arguments are passed directly into the subroutine.
SEE ALSO
ETL::Pipeline, ETL::Pipeline::Output
AUTHOR
Robert Wohlfarth <robert.j.wohlfarth@vumc.org>
LICENSE
Copyright 2021 (c) Vanderbilt University
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.