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

Victor Efimov victor на vsespb.ru
Пн Дек 1 10:11:41 PST 2014


Я тоже думал 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