use warnings; use strict; use PPI; my $file = 'Test.pm'; my $outfile = 'Nopod.pm'; my $ppi_doc = PPI::Document->new($file); $ppi_doc->prune('PPI::Token::Pod'); $ppi_doc->prune('PPI::Token::Comment'); my @subs; for (@{ $ppi_doc->find('PPI::Statement::Sub') }){ push @subs, $_->name; } $ppi_doc->save($outfile); print "$_\n" for @subs;