App-Dex
view release on metacpan or search on metacpan
scripts/dex view on Meta::CPAN
}
$tokens[-2] .= $next_line->[2];
$self->set_next_line(undef);
$start = 0;
}
}
sub _read_quoted_tokens {
my ($self, $start, $first, $yaml, $tokens) = @_;
my $quoted = '';
my $decoded = '';
my $token_name = $TOKEN_NAMES{ $first };
if ($first eq "'") {
my $regex = $REGEXES{SINGLEQUOTED};
if ($$yaml =~ s/\A($regex)//) {
$quoted .= $1;
$decoded .= $1;
$decoded =~ s/''/'/g;
}
}
else {
($quoted, $decoded) = $self->_read_doublequoted($yaml);
}
my $eol = '';
unless (length $$yaml) {
if ($quoted =~ s/($RE_WS+)\z//) {
$eol = $1;
$decoded =~ s/($eol)\z//;
}
}
my $value = { value => $decoded, orig => $quoted };
if ($$yaml =~ s/\A$first//) {
if ($start) {
push @$tokens, ( $token_name . 'D' => $value, $self->line );
}
else {
push @$tokens, ( $token_name . 'D_LINE' => $value, $self->line );
}
push @$tokens, ( $token_name => $first, $self->line );
return $value;
scripts/dex view on Meta::CPAN
push @$tokens, ( $token_name . 'D_LINE' => $value, $self->line );
push @$tokens, ( EOL => $eol, $self->line );
return $value;
}
sub _read_doublequoted {
my ($self, $yaml) = @_;
my $quoted = '';
my $decoded = '';
while (1) {
my $last = 1;
if ($$yaml =~ s/\A([^"\\]+)//) {
$quoted .= $1;
$decoded .= $1;
$last = 0;
}
if ($$yaml =~ s/\A($RE_ESCAPES)//) {
$quoted .= $1;
my $dec = defined $2 ? $CONTROL{ $2 }
: defined $3 ? chr hex $3
: defined $4 ? chr hex $4
: chr hex $5;
$decoded .= $dec;
$last = 0;
}
if ($$yaml =~ s/\A(\\)\z//) {
$quoted .= $1;
$decoded .= $1;
last;
}
last if $last;
}
return ($quoted, $decoded);
}
sub _fetch_next_tokens_directive {
my ($self, $yaml, $eol) = @_;
my @tokens;
if ($$yaml =~ s/\A(\s*%YAML)//) {
my $dir = $1;
if ($$yaml =~ s/\A( )//) {
$dir .= $1;
scripts/dex view on Meta::CPAN
+f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
# The binary value above is a tiny arrow encoded as a gif image.
EOM
=head1 DESCRIPTION
See <https://yaml.org/type/binary.html>
By prepending a base64 encoded binary string with the C<!!binary> tag, it can
be automatically decoded when loading.
Note that the logic for dumping is probably broken, see
L<https://github.com/perlpunk/YAML-PP-p5/issues/28>.
Suggestions welcome.
=head1 METHODS
=over
( run in 0.295 second using v1.01-cache-2.11-cpan-d6f9594c0a5 )