| Dist-Zilla-Plugin-PerlTidy documentation | Contained in the Dist-Zilla-Plugin-PerlTidy distribution. |
Dist::Zilla::Plugin::PerlTidy - PerlTidy in Dist::Zilla
version 0.09
Implements the required munge_file method for the
Dist::Zilla::Role::FileMunger role, munging each Perl file it finds.
Files whose names do not end in .pm, .pl, or .t, or whose contents
do not begin with #!perl are left alone.
# dist.ini
[PerlTidy]
# or
[PerlTidy]
perltidyrc = xt/.perltidyrc
If you do not specify a specific perltidyrc in dist.ini it will try to use the same defaults as Perl::Tidy.
Fayland Lam <fayland@gmail.com> Mark Gardner <mjgardner@cpan.org>
This software is copyright (c) 2010 by Fayland Lam.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Dist-Zilla-Plugin-PerlTidy documentation | Contained in the Dist-Zilla-Plugin-PerlTidy distribution. |
package Dist::Zilla::Plugin::PerlTidy; BEGIN { $Dist::Zilla::Plugin::PerlTidy::VERSION = '0.09'; } # ABSTRACT: PerlTidy in Dist::Zilla use Moose; with 'Dist::Zilla::Role::FileMunger'; has 'perltidyrc' => ( is => 'ro' ); sub munge_file { my ( $self, $file ) = @_; return $self->_munge_perl($file) if $file->name =~ /\.(?:pm|pl|t)$/i; return $self->_munge_perl($file) if $file->content =~ /^#!perl(?:$|\s)/; return; } sub _munge_perl { my ( $self, $file ) = @_; my $source = $file->content; my $perltidyrc; if ( defined $self->perltidyrc ) { if ( -r $self->perltidyrc ) { $perltidyrc = $self->perltidyrc; } else { $self->log_fatal( [ "specified perltidyrc is not readable: %s", $perltidyrc ] ); } } # make Perl::Tidy happy local @ARGV = (); my $destination; require Perl::Tidy; Perl::Tidy::perltidy( source => \$source, destination => \$destination, ( $perltidyrc ? ( perltidyrc => $perltidyrc ) : () ), ); $file->content($destination); } __PACKAGE__->meta->make_immutable; no Moose; 1; __END__