#!/usr/bin/env perl package Perl::Critic::Command::RenderPolicyDocsAnnopod; use parent 'Perl::Critic::Command'; sub _render_policy_docs { my (%opts) = @_; my $pattern = delete $opts{-doc}; require Perl::Critic; $critic = Perl::Critic->new(%opts); _set_up_pager($critic->config()->pager()); require Perl::Critic::PolicyFactory; my @site_policies = Perl::Critic::PolicyFactory->site_policy_names(); my @matching_policies = grep { $_ =~ m/$pattern/ixms } @site_policies; exec 'annopod', $matching_policies[0] or die "exec annopod failed: $!\n"; } unshift @ARGV, '--doc'; Perl::Critic::Command::RenderPolicyDocsAnnopod->run();