Text-DSV
view release on metacpan or search on metacpan
my $self = bless {}, $class;
# Object.
return $self;
}
# Parse all data.
sub parse {
my ($self, $data) = @_;
my @data_lines;
foreach my $line (split m/\n/ms, $data) {
if ($line =~ m/^\s*$/ms || $line =~ m/^\s*#/) {
next;
}
push @data_lines, [$self->parse_line($line)];
}
return @data_lines;
}
# Parse one line.
sub parse_line {
my ($self, $line) = @_;
my @data_line = split m/(?<!\\):/ms, $line;
foreach my $data (@data_line) {
$data =~ s/\\:/:/gms;
$data =~ s/\\n/\n/gms;
}
return @data_line;
}
# Serialize all data.
sub serialize {
my ($self, @data_lines) = @_;
( run in 0.867 second using v1.01-cache-2.11-cpan-5511b514fd6 )