Я тоже думал perltidy использует PPI.. Где-то была такая инфа. Но не вижу use PPI в нём?
30 ноября 2014 г., 23:56 пользователь Nikolay Mishin <[email protected]> написал: > 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 > [email protected] | http://moscow.pm.org -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
