App-Dex

 view release on metacpan or  search on metacpan

scripts/dex  view on Meta::CPAN

      $self->emitter->init;
  
      $self->emitter->stream_start_event({});
  
      for my $i (0 .. $#docs) {
          my $header_implicit = ($i == 0 and not $self->header);
          my %args = (
              implicit => $header_implicit,
          );
          if ($self->version_directive) {
              my ($major, $minor) = split m/\./, $self->representer->schema->yaml_version;
              $args{version_directive} = { major => $major, minor => $minor };
          }
          $self->emitter->document_start_event( \%args );
          $self->init;
          $self->check_references($docs[ $i ]);
          $self->dump_node($docs[ $i ]);
          my $footer_implicit = (not $self->footer);
          $self->emitter->document_end_event({ implicit => $footer_implicit });
      }
  

scripts/dex  view on Meta::CPAN

      }
  
      my $open_ended = 0;
  
      if ($style == YAML_PLAIN_SCALAR_STYLE) {
          $value =~ s/\n/\n\n/g;
      }
      elsif ($style == YAML_SINGLE_QUOTED_SCALAR_STYLE) {
          my $new_indent = $last->{indent} . (' ' x $self->indent);
          $value =~ s/(\n+)/"\n" x (1 + (length $1))/eg;
          my @lines = split m/\n/, $value, -1;
          if (@lines > 1) {
              for my $line (@lines[1 .. $#lines]) {
                  $line = $new_indent . $line
                      if length $line;
              }
          }
          $value = join "\n", @lines;
          $value =~ s/'/''/g;
          $value = "'" . $value . "'";
      }

scripts/dex  view on Meta::CPAN

  }
  
  sub finish {
      my ($self) = @_;
      $self->writer->finish;
  }
  
  sub _write {
      my ($self, $yaml) = @_;
      return unless length $yaml;
      my @lines = split m/\n/, $yaml, -1;
      my $newlines = @lines - 1;
      $self->{line} += $newlines;
      if (length $lines[-1]) {
          if ($newlines) {
              $self->{column} = length $lines[-1];
          }
          else {
              $self->{column} += length $lines[-1];
          }
      }

scripts/dex  view on Meta::CPAN

          }
          else {
              @values = $token;
          }
          for my $token (@values) {
              my $value = defined $token->{orig} ? $token->{orig} : $token->{value};
              push @list, map {
                      $_ =~ tr/\t/\t/
                      ? { name => 'TAB', value => $_ }
                      : { name => $token->{name}, value => $_ }
                  } split m/(\t+)/, $value;
          }
      }
      for my $i (0 .. $#list) {
          my $token = $list[ $i ];
          my $name = $token->{name};
          my $str = $token->{value};
          my $trailing_space = 0;
          if ($token->{name} eq 'EOL') {
              if ($str =~ m/ +([\r\n]|\z)/) {
                  $token->{name} = "TRAILING_SPACE";

scripts/dex  view on Meta::CPAN

      });
  }
  
  sub start_document {
      my ($self, $implicit) = @_;
      push @{ $self->events }, 'DOC';
      push @{ $self->offset }, -1;
      my $directive = $self->yaml_version_directive;
      my %directive;
      if ($directive) {
          my ($major, $minor) = split m/\./, $self->yaml_version;
          %directive = ( version_directive => { major => $major, minor => $minor } );
      }
      $self->callback->($self, 'document_start_event', {
          name => 'document_start_event',
          implicit => $implicit,
          %directive,
      });
      $self->set_yaml_version_directive(undef);
      $self->set_rule( 'FULLNODE' );
      $self->set_new_node(1);

scripts/dex  view on Meta::CPAN

          my $options = $args{options};
          my $tagtype = '!perl';
          for my $option (@$options) {
              if ($option =~ m/^tags?=(.+)$/) {
                  $tagtype = $1;
              }
              elsif ($option eq '+loadcode') {
                  $loadcode = 1;
              }
          }
          $tags = [split m/\+/, $tagtype];
      }
  
  
      my $perl_tag;
      my %tagtypes;
      my @perl_tags;
      for my $type (@$tags) {
          if ($type eq '!perl') {
              $perl_tag ||= $type;
              push @perl_tags, '!perl';

scripts/dex  view on Meta::CPAN

      $result = -$result if $sign eq '-';
      return $result;
  }
  sub _sexa_to_float {
      my ($constructor, $event, $matches) = @_;
      my ($float) = @$matches;
      my $result = 0;
      my $i = 0;
      my $sign = 1;
      $float =~ s/^-// and $sign = -1;
      for my $part (reverse split m/:/, $float) {
          $result += $part * ( 60 ** $i );
          $i++;
      }
      $result = unpack F => pack F => $result;
      return $result * $sign;
  }
  sub _to_float {
      my ($constructor, $event, $matches) = @_;
      my ($float) = @$matches;
      $float =~ tr/_//d;



( run in 0.479 second using v1.01-cache-2.11-cpan-71847e10f99 )