Provided by: libcatmandu-perl_0.9505-1_all bug

NAME

       Catmandu::Fix::perlcode - execute Perl code as fix function

DESCRIPTION

       Use this fix in the Catmandu fix language to make use of a Perl script:

           perlcode(myscript.pl)

       The script (here "myscript.pl") must return a code reference:

           sub {
               my $data = shift;
               ...
               return $data;
           }

       When not using the fix language this

           my $fixer = Catmandu::Fix->new( fixes => [ do 'myscript.pl' ] );
           $fixer->fix( $item );

       is roughly equivalent to:

           my $code = do 'myscript.pl';
           $item = $code->( $item )

       All scripts are cached based on their filename, so using this fix multiple times will only
       load each given script once.

       The code reference gets passed a second value to reject selected items such as possible
       with see Catmandu::Fix::reject:

           sub {
               my ($data, $reject) = @_;
               return rejection_criteria($data) ? $reject : $data;
           }

       To indicate the end processing, return "undef".

SEE ALSO

       Catmandu::Fix::code, Catmandu::Fix::cmd