Lorsque j'utilise "$ module-> prune ('PPI :: Token :: Whitespace');" et enregistrer les résultats dans le fichier $ est-il une facilité de retour au code de travail pour le code enregistré? J'ai essayé "Perl :: Tidy" et ça a l'air beaucoup mieux après ça mais l'id ne corrige pas tout.PPI - prune PPI :: Token :: Whitespace - question
#!/usr/bin/env perl
use warnings;
use 5.012;
use PPI;
my $file = 'my_file.pm';
my $module = PPI::Document->new($file);
$module->prune('PPI::Token::Pod');
$module->prune('PPI::Token::Comment');
$module->prune('PPI::Token::Whitespace');
# ...
# ...
$module->save($file) or die $!;
modifier:
Je ne suis plus en mesure de reconstituer mon code que j'avais en premier lieu. Avec pruneau-espaces blancs a permis que je pourrais utiliser quelque chose comme ça
$a = $module->find(sub {
$_[1]->isa('PPI::Statement') and
$_[1]->content eq q(if([email protected]){$have_Term_ReadKey=0;$have_Term_Size=1;eval'require "Term/Size.pm"';if([email protected]){$have_Term_Size=0;}})
});
au lieu de
$a = $module->find(sub {
$_[1]->isa('PPI::Statement') and
$_[1]->schild(0)->content eq q(if) and
$_[1]->schild(1)->isa('PPI::Something') and
...
...
});
pour trouver un point d'ajouter quelque chose. Mais sachez qu'après avoir réessayé je pense qu'il ne peut pas fonctionner (à part le fait, que je ne peux pas restaurer le code sans les espaces).
pourriez-vous poster un exemple avant et après le code, y compris où vous voulez des changements, mais ne les obtiennent pas? –