Parser

NAME

Text::LTSV::Parser - LTSV (Labeled Tab Separated Value) parser

SYNOPSIS

use Text::LTSV::Parser;
## Single line
    my $parser = Text::LTSV::Parser.new;
    my $ltsv-line = "foo:bar\tbuz:qux\tjohn:paul";
    my %ltsv = $parser.parse-line($ltsv-line); # {:buz("qux"), :foo("bar"), :john("paul")}
## Multi line
    my $ltsv-text = "foo:bar\tbuz:qux\njohn:paul\tgeorge:ringo\n";
    my @ltsvs = $parser.parse-text($ltsv-text); # Array[Array[Pair]]
    for @ltsvs -> $ltsv {
        say $ltsv.perl; # 1st: Array[Pair].new("foo" => "bar", "buz" => "qux")
                        # 2nd: Array[Pair].new("john" => "paul", "george" => "ringo")
    }

DESCRIPTION

Text::LTSV::Parser is a parser for LTSV (Labeled Tab Separated Values).

METHODS

parse-line(Text::LTSV::Parser:D: Str $line) returns Array[Pair]

Parse one line as LTSV.

parse-text(Text::LTSV::Parser:D: Str $text) returns Array[Array[Pair]]

Parse multiple lines as LTSV. You can specify new line character to separate lines by $.nl. Default $.nl is "\n";

TODO

  • Support want_fields

  • Support ignore_fields

SEE ALSO

AUTHOR

moznion <[email protected]>

COPYRIGHT AND LICENSE

Copyright 2015 moznion

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.