[Moscow.pm] комменты в конце строки

Nikolay Mishin mi на ya.ru
Пн Дек 1 13:04:23 PST 2014


Да, посмотрел, ошибся,
PPI в perlcritic
но код увлекательный, например, такие конструкции
   @_ = qw(
      = **= += *= &= <<= &&=
      -= /= |= >>= ||= //=
      .= %= ^=
      x=
    );
    @is_assignment{@_} = (1) x scalar(@_);


01.12.2014, 21:11, "Victor Efimov" <victor на vsespb.ru>:
> Я тоже думал perltidy использует PPI.. Где-то была такая инфа. Но не
> вижу use PPI в нём?
>
> 30 ноября 2014 г., 23:56 пользователь Nikolay Mishin <mi на ya.ru> написал:
>>  perltidy также, как и perlctitic
>>  использует
>>  use PPI;
>>  и задача, описанная выше вполне регулярная и решается
>>  этим модулем,
>>  там, конечно, документация к нему не айс,
>>  но врубиться можно
>>  нужно двигаться вот в каком направлении
>>
>>  https://github.com/mishin/presentation/blob/master/ppi_add_comment_to_previous_line.pl
>>
>>  на вход дается строка из
>>  https://github.com/mishin/presentation/blob/master/test_perl_code.pl
>>
>>  use 5.14.0;
>>  use PPI;
>>
>>  #use Smart::Comments;
>>  my $file_name = shift or die "Usage: $0 file_4_transform\n";
>>  my $doc = PPI::Document->new($file_name);
>>
>>  my @comments = ();
>>  my @statament = ();
>>  $doc->find(
>>      sub {
>>          my ( $root, $node ) = @_;
>>          if ( $node->isa('PPI::Token::Comment')) {
>>              push @comments, $node;
>>          }
>>          if ( $node->isa('PPI::Statement')) {
>>              push @statament, $node;
>>          }
>>      }
>>  );
>>  #$module->prune( 'PPI::Token::Comment' );
>>  ## @comments
>>  ## @statament
>>  say join "", на comments;
>>  say join "", на statament;
>>
>>  понятно, что сделано для 1-й строки,
>>  но правильно именно так,
>>  удачи
>>  нет времени допиливать
>>  --
>>  Moscow.pm mailing list
>>  moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

-- 
С уважением
Николай Мишин



Подробная информация о списке рассылки Moscow-pm