前後のフィルタを使用して perlcritic スクリプトを変更できます。変更ログは次の例を提供します
Perl::Tidy::perltidy(
prefilter => sub { $_ = $_[0]; s/^method (.*)/sub $1 \#__METHOD/gm; return $_ },
postfilter => sub { $_ = $_[0]; s/^sub (.*?)\s* \#__METHOD/method $1/gm; return $_ }
);
Perlcritic はフォーマットの目的でとして扱うmethod
ようになりました。sub
で同じことができますfunc
。/usr/local/bin/perlcritic をfunc
次のように変更しました。
#!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # not running under some shell
package main;
use Perl::Tidy;
my $arg_string = undef;
# give Macs a chance to provide command line parameters
if ($^O =~ /Mac/) {
$arg_string =
MacPerl::Ask( 'Please enter @ARGV (-h for help)',
defined $ARGV[0] ? "\"$ARGV[0]\"" : "" );
}
Perl::Tidy::perltidy(
argv => $arg_string,
prefilter => sub { $_ = $_[0]; s/\W\Kfunc\((.*)/sub($1 \#__FUNC/gm; return $_ },
postfilter => sub { $_ = $_[0]; s/\W\Ksub\((.*?)\s* \#__FUNC/func($1/gm; return $_ }
);