Test::Smoke::Policy - OO interface to handle the stuff.


    use Test::Smoke::Policy;

    my $srcpath = File::Spec->updir;
    my $policy = Test::Smoke::Policy->new( $srcpath );

    $policy->substitute( [] );


I wish I understood what Merijn is doeing in the original code.


Test::Smoke::Policy->new( $srcpath )

Create a new instance of the Policy object. Read the file or take data from the DATA section.


Get verbosity.

$policy->set_rules( $rules )

Set the rules for substitutions.

$policy->reset_rules( )

Reset the _rules property.

$policy->_do_subst( )

_do_subst() does the substitutions and stores the substituted version as the _new_policy attribute.

$policy->write( )

$policy->_read_Policy( $srcpath[, $verbose[, @ccflags]] )

_read_Policy() checks the $srcpath for these conditions:

Reference to a SCALAR Policy is in $$srcpath
Reference to an ARRAY Policy is in @$srcpath
Reference to a GLOB Policy is read from the filehandle
Other values are taken as the base path for

The @ccflags are passed to $self->default_Policy()

$policy->default_Policy( [@ccflags] )

Generate the default from a set of ccflags, but be backward compatible.


(c) 2001-2015, All rights reserved.

  * H.Merijn Brand <>
  * Nicholas Clark <>
  * Abe Timmerman <>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


  * <>,
  * <>

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.