The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Catmandu::Exporter::Text - a Text exporter


    # From the command line

    # Write all field values as a line of Text
    $ catmandu convert JSON to Text --field_sep "," < data.json

    # In a Perl script

    use Catmandu;

    # Print to STDOUT
    my $exporter = Catmandu->exporter('Text', fix => 'myfix.txt');

    # Print to file or IO::Handle
    my $exporter = Catmandu->exporter('Text', file => '/tmp/out.yml');
    my $exporter = Catmandu->exporter('Text', file => $fh);

    $exporter->add_many(sub { });


    printf "exported %d items\n" , $exporter->count;


This Catmandu::Exporter exports items as raw text. All field values found in the data will be contactenated using field_sep as delimiter.



Write output to a local file given by its path or file handle. Alternatively a scalar reference can be passed to write to a string and a code reference can be used to write to a callback function.


Write the output to an IO::Handle. If not specified, Catmandu::Util::io is used to create the output handle from the file argument or by using STDOUT.


An ARRAY of one or more fixes or file scripts to be applied to exported items.


Binmode of the output stream fh. Set to ":utf8" by default.

line_sep STR

Use the STR at each end of line. Set to "\n" by default.

field_sep STR

Use the STR at each end of a field.


Catmandu::Exporter , Catmandu::Importer::Text