Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
...
  • 2 commits
  • 12 files changed
  • 0 commit comments
  • 1 contributor
Showing with 520 additions and 159 deletions.
  1. +1 −1 .travis.yml
  2. +23 −0 CHANGES
  3. +1 −1 LICENSE
  4. +1 −0 MANIFEST
  5. +48 −37 META.json
  6. +306 −0 META.yml
  7. +1 −1 Makefile.PL
  8. +27 −22 README.html
  9. +31 −26 README.pod
  10. +75 −67 lib/sanity.pm
  11. +3 −3 lib/sanity/BaseCalc.pm
  12. +3 −1 t/000-report-versions-tiny.t
View
2 .travis.yml
@@ -22,7 +22,7 @@ notifications:
channels:
- "irc.perl.org#sanity"
template:
- - "%{branch}#%{build_number} by %{author}: %{message} (%{build_url})
+ - "%{branch}#%{build_number} by %{author}: %{message} (%{build_url})"
on_success: change
on_failure: always
use_notice: true
View
23 CHANGES
@@ -1,9 +1,32 @@
Revision History for sanity
===========================
+v0.95 2013-03-18
+----------------
+
+commit e0898518bfaefdc958c0ac6dcf7919a071aef5ce
+Author: Brendan Byrd <Perl@ResonatorSoft.org>
+Date: Mon Mar 18 12:08:05 2013 -0400
+
+ Fix $author_mode to be a bit less zealous (Issue #1)
+
+commit 906e91fa7a8a78aa062bcbda7f457795c3c2023a
+Author: Brendan Byrd <Perl@ResonatorSoft.org>
+Date: Mon Mar 18 11:57:39 2013 -0400
+
+ Add some extra modules
+ Make sure POD encoding is UTF-8, so that the SYNOPSIS shows up right
+ Fix version dep of Math::BigInt
+
v0.94 2012-10-02
----------------
+commit 0d7a99222077d96bd1387e0d0744569dec4446d1
+Author: Brendan Byrd <Perl@ResonatorSoft.org>
+Date: Tue Oct 2 14:55:54 2012 -0400
+
+ Release v0.94
+
commit 4fbe24b1e601ce180606b65bbb6ea774075072b7
Author: Brendan Byrd <Perl@ResonatorSoft.org>
Date: Tue Oct 2 14:07:40 2012 -0400
View
2 LICENSE
@@ -1,4 +1,4 @@
-This software is Copyright (c) 2012 by Brendan Byrd.
+This software is Copyright (c) 2013 by Brendan Byrd.
This is free software, licensed under:
View
1 MANIFEST
@@ -3,6 +3,7 @@ INSTALL
LICENSE
MANIFEST
META.json
+META.yml
Makefile.PL
README.html
README.pod
View
85 META.json
@@ -4,7 +4,7 @@
"Brendan Byrd <BBYRD@CPAN.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.300024, CPAN::Meta::Converter version 2.120921",
+ "generated_by" : "Dist::Zilla version 4.300027, CPAN::Meta::Converter version 2.120921",
"license" : [
"artistic_2"
],
@@ -22,6 +22,12 @@
]
},
"prereqs" : {
+ "develop" : {
+ "requires" : {
+ "Test::Pod" : "1.41",
+ "version" : "0.9901"
+ }
+ },
"runtime" : {
"recommends" : {
"Carp" : "0",
@@ -59,7 +65,7 @@
"provides" : {
"sanity" : {
"file" : "lib/sanity.pm",
- "version" : "0.94"
+ "version" : "0.95"
}
},
"release_status" : "stable",
@@ -75,7 +81,7 @@
},
"x_irc" : "irc://irc.perl.org/#sanity"
},
- "version" : "0.94",
+ "version" : "0.95",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.016000"
@@ -89,17 +95,17 @@
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
"name" : "@Filter/MakeMaker",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
"name" : "@Filter/Git::NextVersion",
- "version" : "1.122530"
+ "version" : "2.001"
},
{
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
"name" : "@Filter/Git::GatherDir",
- "version" : "1.122530"
+ "version" : "2.001"
},
{
"class" : "Dist::Zilla::Plugin::OurPkgVersion",
@@ -114,7 +120,7 @@
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@Filter/PruneCruft",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::GitFmtChanges",
@@ -124,17 +130,17 @@
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@Filter/ManifestSkip",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@Filter/Manifest",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@Filter/License",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
@@ -154,7 +160,7 @@
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@Filter/ExecDir",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::Test::Compile",
@@ -164,7 +170,7 @@
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@Filter/PodSyntaxTests",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::RunExtraTests",
@@ -219,12 +225,12 @@
{
"class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
"name" : "@Filter/ReportVersions::Tiny",
- "version" : "1.06"
+ "version" : "1.08"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@Filter/@Prereqs/AutoPrereqs",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::MinimumPerl",
@@ -234,12 +240,12 @@
{
"class" : "Dist::Zilla::Plugin::MinimumPrereqs",
"name" : "@Filter/@Prereqs/MinimumPrereqs",
- "version" : "0.91"
+ "version" : "0.92"
},
{
"class" : "Dist::Zilla::Plugin::PrereqsClean",
"name" : "@Filter/@Prereqs/PrereqsClean",
- "version" : "0.91"
+ "version" : "0.92"
},
{
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
@@ -249,17 +255,22 @@
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@Filter/MetaConfig",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@Filter/MetaJSON",
- "version" : "4.300024"
+ "version" : "4.300027"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MetaYAML",
+ "name" : "@Filter/MetaYAML",
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::MetaNoIndex",
"name" : "@Filter/MetaNoIndex",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::MetaProvides::Package",
@@ -279,37 +290,37 @@
{
"class" : "Dist::Zilla::Plugin::TravisYML",
"name" : "@Filter/TravisYML",
- "version" : "0.94"
+ "version" : "0.95"
},
{
"class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch",
"name" : "@Filter/Git::CheckFor::CorrectBranch",
- "version" : "0.004"
+ "version" : "0.005"
},
{
"class" : "Dist::Zilla::Plugin::Git::CommitBuild",
"name" : "@Filter/Git::CommitBuild",
- "version" : "1.122530"
+ "version" : "2.001"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
"name" : "@Filter/@Git/Check",
- "version" : "1.122530"
+ "version" : "2.001"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"name" : "@Filter/@Git/Commit",
- "version" : "1.122530"
+ "version" : "2.001"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
"name" : "@Filter/@Git/Tag",
- "version" : "1.122530"
+ "version" : "2.001"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
"name" : "@Filter/@Git/Push",
- "version" : "1.122530"
+ "version" : "2.001"
},
{
"class" : "Dist::Zilla::Plugin::GitHub::Update",
@@ -319,17 +330,17 @@
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@Filter/TestRelease",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@Filter/ConfirmRelease",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@Filter/UploadToCPAN",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::InstallRelease",
@@ -350,45 +361,45 @@
}
},
"name" : "Prereqs",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "4.300024"
+ "version" : "4.300027"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "4.300024"
+ "version" : "4.300027"
}
],
"zilla" : {
"class" : "Dist::Zilla::Dist::Builder",
"config" : {
"is_trial" : "0"
},
- "version" : "4.300024"
+ "version" : "4.300027"
}
}
}
View
306 META.yml
@@ -0,0 +1,306 @@
+---
+abstract: "The ONLY meta pragma you'll ever need!"
+author:
+ - 'Brendan Byrd <BBYRD@CPAN.org>'
+build_requires:
+ Test::CheckDeps: 0.002
+ Test::UseAllModules: 0.10
+dynamic_config: 0
+generated_by: 'Dist::Zilla version 4.300027, CPAN::Meta::Converter version 2.120921'
+license: artistic_2
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
+name: sanity
+no_index:
+ directory:
+ - t
+ - xt
+ - examples
+ - corpus
+provides:
+ sanity:
+ file: lib/sanity.pm
+ version: 0.95
+recommends:
+ Carp: 0
+ IO::All: 0
+ Toolkit: 0
+ autolocale: 0
+ autovivification: 0
+ bareword::filehandles: 0
+ criticism: 0
+ indirect: 0
+ multidimensional: 0
+ namespace::autoclean: 0
+ namespace::clean: 0
+ namespace::functions: 0
+ namespace::sweep: 0
+ perl5i: 0
+ subs::auto: 0
+ true: 0
+ utf8::all: 0
+ vendorlib: 0
+requires:
+ Import::Into: 1.001000
+ List::MoreUtils: 0.23
+ perl: v5.10.1
+resources:
+ X_irc: irc://irc.perl.org/#sanity
+ bugtracker: https://github.com/SineSwiper/sanity/issues
+ homepage: https://github.com/SineSwiper/sanity/wiki
+ repository: git://github.com/SineSwiper/sanity.git
+version: 0.95
+x_Dist_Zilla:
+ perl:
+ version: 5.016000
+ plugins:
+ -
+ class: Dist::Zilla::Plugin::ReportPhase
+ name: '@Filter/ReportPhase'
+ version: 0.00
+ -
+ class: Dist::Zilla::Plugin::MakeMaker
+ name: '@Filter/MakeMaker'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::Git::NextVersion
+ name: '@Filter/Git::NextVersion'
+ version: 2.001
+ -
+ class: Dist::Zilla::Plugin::Git::GatherDir
+ name: '@Filter/Git::GatherDir'
+ version: 2.001
+ -
+ class: Dist::Zilla::Plugin::OurPkgVersion
+ name: '@Filter/OurPkgVersion'
+ version: 0.004000
+ -
+ class: Dist::Zilla::Plugin::PodWeaver
+ name: '@Filter/PodWeaver'
+ version: 3.101641
+ -
+ class: Dist::Zilla::Plugin::PruneCruft
+ name: '@Filter/PruneCruft'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::GitFmtChanges
+ name: '@Filter/GitFmtChanges'
+ version: 0.005
+ -
+ class: Dist::Zilla::Plugin::ManifestSkip
+ name: '@Filter/ManifestSkip'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::Manifest
+ name: '@Filter/Manifest'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::License
+ name: '@Filter/License'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+ name: '@Filter/ReadmeHtmlInBuild'
+ version: 0.120120
+ -
+ class: Dist::Zilla::Plugin::ReadmeAnyFromPod
+ name: '@Filter/ReadmePodInBuild'
+ version: 0.120120
+ -
+ class: Dist::Zilla::Plugin::InstallGuide
+ name: '@Filter/InstallGuide'
+ version: 1.200000
+ -
+ class: Dist::Zilla::Plugin::ExecDir
+ name: '@Filter/ExecDir'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::Test::Compile
+ name: '@Filter/Test::Compile'
+ version: 1.112820
+ -
+ class: Dist::Zilla::Plugin::PodSyntaxTests
+ name: '@Filter/PodSyntaxTests'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::RunExtraTests
+ name: '@Filter/RunExtraTests'
+ version: 0.007
+ -
+ class: Dist::Zilla::Plugin::NoTabsTests
+ name: '@Filter/NoTabsTests'
+ version: 0.01
+ -
+ class: Dist::Zilla::Plugin::Test::EOL
+ name: '@Filter/Test::EOL'
+ version: 0.07
+ -
+ class: Dist::Zilla::Plugin::Test::CPAN::Meta::JSON
+ name: '@Filter/Test::CPAN::Meta::JSON'
+ version: 0.003
+ -
+ class: Dist::Zilla::Plugin::Test::CheckDeps
+ name: '@Filter/Test::CheckDeps'
+ version: 0.005
+ -
+ class: Dist::Zilla::Plugin::Test::Portability
+ name: '@Filter/Test::Portability'
+ version: 2.000003
+ -
+ class: Dist::Zilla::Plugin::Test::MinimumVersion
+ name: '@Filter/Test::MinimumVersion'
+ version: 2.000002
+ -
+ class: Dist::Zilla::Plugin::Test::CheckManifest
+ name: '@Filter/Test::CheckManifest'
+ version: 0.04
+ -
+ class: Dist::Zilla::Plugin::Test::DistManifest
+ name: '@Filter/Test::DistManifest'
+ version: 2.000002
+ -
+ class: Dist::Zilla::Plugin::Test::UseAllModules
+ name: '@Filter/Test::UseAllModules'
+ version: 0.002
+ -
+ class: Dist::Zilla::Plugin::ReportVersions::Tiny
+ name: '@Filter/ReportVersions::Tiny'
+ version: 1.08
+ -
+ class: Dist::Zilla::Plugin::AutoPrereqs
+ name: '@Filter/@Prereqs/AutoPrereqs'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::MinimumPerl
+ name: '@Filter/@Prereqs/MinimumPerl'
+ version: 1.003
+ -
+ class: Dist::Zilla::Plugin::MinimumPrereqs
+ name: '@Filter/@Prereqs/MinimumPrereqs'
+ version: 0.92
+ -
+ class: Dist::Zilla::Plugin::PrereqsClean
+ name: '@Filter/@Prereqs/PrereqsClean'
+ version: 0.92
+ -
+ class: Dist::Zilla::Plugin::CheckPrereqsIndexed
+ name: '@Filter/CheckPrereqsIndexed'
+ version: 0.007
+ -
+ class: Dist::Zilla::Plugin::MetaConfig
+ name: '@Filter/MetaConfig'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::MetaJSON
+ name: '@Filter/MetaJSON'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::MetaYAML
+ name: '@Filter/MetaYAML'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::MetaNoIndex
+ name: '@Filter/MetaNoIndex'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::MetaProvides::Package
+ name: '@Filter/MetaProvides::Package'
+ version: 1.14000001
+ -
+ class: Dist::Zilla::Plugin::MetaResourcesFromGit
+ name: '@Filter/MetaResourcesFromGit'
+ version: 1.103620
+ -
+ class: Dist::Zilla::Plugin::CopyFilesFromBuild
+ name: '@Filter/CopyFilesFromBuild'
+ version: 0.103510
+ -
+ class: Dist::Zilla::Plugin::TravisYML
+ name: '@Filter/TravisYML'
+ version: 0.95
+ -
+ class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch
+ name: '@Filter/Git::CheckFor::CorrectBranch'
+ version: 0.005
+ -
+ class: Dist::Zilla::Plugin::Git::CommitBuild
+ name: '@Filter/Git::CommitBuild'
+ version: 2.001
+ -
+ class: Dist::Zilla::Plugin::Git::Check
+ name: '@Filter/@Git/Check'
+ version: 2.001
+ -
+ class: Dist::Zilla::Plugin::Git::Commit
+ name: '@Filter/@Git/Commit'
+ version: 2.001
+ -
+ class: Dist::Zilla::Plugin::Git::Tag
+ name: '@Filter/@Git/Tag'
+ version: 2.001
+ -
+ class: Dist::Zilla::Plugin::Git::Push
+ name: '@Filter/@Git/Push'
+ version: 2.001
+ -
+ class: Dist::Zilla::Plugin::GitHub::Update
+ name: '@Filter/GitHub::Update'
+ version: 0.27
+ -
+ class: Dist::Zilla::Plugin::TestRelease
+ name: '@Filter/TestRelease'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::ConfirmRelease
+ name: '@Filter/ConfirmRelease'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::UploadToCPAN
+ name: '@Filter/UploadToCPAN'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::InstallRelease
+ name: '@Filter/InstallRelease'
+ version: 0.008
+ -
+ class: Dist::Zilla::Plugin::Clean
+ name: '@Filter/Clean'
+ version: 0.07
+ -
+ class: Dist::Zilla::Plugin::Prereqs
+ config:
+ Dist::Zilla::Plugin::Prereqs:
+ phase: runtime
+ type: recommends
+ name: Prereqs
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':InstallModules'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':IncModules'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':TestFiles'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':ExecFiles'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':ShareFiles'
+ version: 4.300027
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':MainModule'
+ version: 4.300027
+ zilla:
+ class: Dist::Zilla::Dist::Builder
+ config:
+ is_trial: 0
+ version: 4.300027
View
2 Makefile.PL
@@ -24,7 +24,7 @@ my %WriteMakefileArgs = (
"Import::Into" => "1.001000",
"List::MoreUtils" => "0.23"
},
- "VERSION" => "0.94",
+ "VERSION" => "0.95",
"test" => {
"TESTS" => "t/*.t"
}
View
49 README.html
@@ -5,7 +5,7 @@
<!--
generated by Pod::Simple::HTML v3.20,
using Pod::Simple::PullParser v3.20,
- under Perl v5.016000 at Tue Oct 2 18:12:13 2012 GMT.
+ under Perl v5.016000 at Mon Mar 18 16:10:34 2013 GMT.
If you want to change this HTML document, you probably shouldn't do that
by changing it directly. Instead, see about changing the calling options
@@ -32,14 +32,14 @@
<pre> use sanity;
use sanity &#39;strictures&#39;;
use sanity &#39;Modern::Perl&#39;;
-
+
use sanity qw(
strictures -warnings/uninitialized/FATAL
- NO:autovivification NO:autovivification/store
+ NO:autovivification NO:autovivification/store
PRINT_PRAGMA_HASH
);
use sanity &#39;!0*b^Npow{8T7_yZt&#60;?cT6/?ZCO=Y0LV_Duoc&#39;; # Safer ASCII version
- use sanity &#39;&#161;0&#498;&#40262;&#14631;&#48222;&#10347;&#30225;&#48760;&#4757;&#46152;&#45868;&#22173;&#10280;&#33281;&#32892;&#19339;&#39;; # Shorter UTF8 version</pre>
+ use sanity &#39;&#194;&#161;0&#199;&#178;&#233;&#181;&#134;&#227;&#164;&#167;&#235;&#177;&#158;&#226;&#161;&#171;&#231;&#152;&#145;&#235;&#185;&#184;&#225;&#138;&#149;&#235;&#145;&#136;&#235;&#140;&#172;&#229;&#154;&#157;&#226;&#160;&#168;&#232;&#136;&#129;&#232;&#129;&#188;&#228;&#174;&#139;&#39;; # Shorter UTF8 version</pre>
<h1><a class='u'
name="DESCRIPTION"
@@ -75,7 +75,7 @@
use Modern::Perl;
use sanity &#39;Modern::Perl&#39;;
use sanity qw(strict warnings mro/dfs feature IO::File IO::Handle);
-
+
# ...these statements
use strict;
use warnings;
@@ -119,7 +119,7 @@
use sanity &#39;v5.10.1&#39;;
use sanity v5.10.1; # as a VSTRING
use sanity 5.10.1; # works too
-
+
# Upgrade the Perl version of your favorite pragma
use sanity qw(NO:nonsense v5.12);</pre>
@@ -157,7 +157,7 @@
mro/c3
Carp
), &#39;PRINT_PRAGMA_HASH&#39;);
-
+
# Outputs:
# use sanity &#39;!04[D{9Fhfqc-7m738S4HK6B#D5=v{,T$(0)F5i&#39;; # Safer ASCII version
# use sanity &#39;&#161;05&#3861;&#4689;&#37353;&#33116;&#51576;&#48433;&#26951;&#17421;&#53733;&#29088;&#8111;&#32251;&#35131;&#30495;&#22569;&#39;; # Shorter UTF8 version</pre>
@@ -183,13 +183,13 @@
<pre> # These two are NOT the same!
use sanity &#39;NO:indirect&#39;; # runs indirect-&#62;unimport()
use sanity &#39;-indirect&#39;; # Dies, as there is no such flag/alias
-
+
# This runs through the strictures alias and runs autovivification-&#62;unimport()
use sanity qw(strictures NO:autovivification);
-
+
# This runs through the strictures alias WITHOUT running indirect-&#62;unimport()
use sanity qw(strictures -NO:indirect);
-
+
use sanity &#39;-indirect&#39;; # This isn&#39;t what you want...
no sanity &#39;NO:indirect&#39;; # ...you really meant to do this...
use indirect; # ...but this is better</pre>
@@ -202,7 +202,7 @@
<pre> # This...
use sanity qw(strict -strict/vars);
-
+
# ...is the same as this...
no strict;
use strict qw(subs refs);</pre>
@@ -214,7 +214,7 @@
name="&#34;Author&#34;_pragmas"
>&#34;Author&#34; pragmas</a></h2>
-<p>Certain pragmas really only exist to make sure the code is designed right. These pragmas are deemed &#34;optional&#34; by <code>sanity</code>. In other words, if the user doesn&#39;t have them, it will just silently ignore them and move on. If <code>sanity</code> thinks your an author/coder of the module itself (.git/svn/$ENV checks), it will give you a warning that they are missing, but move on.</p>
+<p>Certain pragmas really only exist to make sure the code is designed right. These pragmas are deemed &#34;optional&#34; by <code>sanity</code>. In other words, if the user doesn&#39;t have them, it will just silently ignore them and move on. If <code>sanity</code> thinks you&#39;re an author/coder of the module itself (.git/svn/$ENV checks), it will give you a warning that they are missing, but move on.</p>
<p>The following modules don&#39;t &#34;instadie&#34;. Modules that fall under this list don&#39;t change the nature of how Perl works, or would let you do something that would normally fatally error.</p>
@@ -344,26 +344,26 @@
filetest
utf8
NO:overloading
-
+
warnings/* =&#62; warnings NONFATAL =&#62; &#39;[whatever]&#39; # supports all flags, multi or not
warnings/*/FATAL =&#62; warnings FATAL =&#62; &#39;[whatever]&#39; # supports all flags; FATAL trumps NONFATAL
warnings =&#62; warnings NONFATAL =&#62; &#39;all&#39;
warnings/FATAL =&#62; warnings FATAL =&#62; &#39;all&#39;
-
+
feature/* =&#62; feature &#39;[whatever]&#39; # supports all flags
feature/5.## =&#62; # similar to feature enabling via &#39;use v5.##&#39;; major version only
feature/5.9.5 =&#62; # also exists, just like feature/5.10
feature =&#62; feature &#39;:all&#39; # not exactly, but in spirit
-
+
# Perl versions, described above
v5.##.##
-
+
# autodie
autodie/* =&#62; autodie &#39;:[whatever]&#39; # supports all _category_ flags, like all, io, shm, etc.
# (Will expand if requested, but I don&#39;t want to waste
# all of that bit space right now.)
autodie =&#62; autodie &#39;:default&#39;
-
+
# other CORE pragmas
bigint
bignum
@@ -379,7 +379,7 @@
# namespace cleaners
namespace::clean # included last; adds -except =&#62; &#39;meta&#39;
- namespace::functions # included last
+ namespace::functions # included last
namespace::autoclean
namespace::sweep
@@ -395,13 +395,13 @@
perl5i::2
perl5i::3
perl5i::latest
-
+
NO:indirect
NO:indirect/global
NO:indirect/fatal
NO:multidimensional
NO:bareword::filehandles
-
+
subs::auto
utf8::all
IO::File
@@ -411,7 +411,12 @@
vendorlib
true
autolocale
- Toolkit</pre>
+ Toolkit
+
+ Function::Parameters
+ Function::Parameters/strict
+ Switch::Plain
+ Quote::Code</pre>
<p>Am I missing something? Let me know.</p>
@@ -467,7 +472,7 @@
name="COPYRIGHT_AND_LICENSE"
>COPYRIGHT AND LICENSE</a></h1>
-<p>This software is Copyright (c) 2012 by Brendan Byrd.</p>
+<p>This software is Copyright (c) 2013 by Brendan Byrd.</p>
<p>This is free software, licensed under:</p>
View
57 README.pod
@@ -1,7 +1,5 @@
=pod
-=encoding utf-8
-
=head1 NAME
sanity - The ONLY meta pragma you'll ever need!
@@ -11,10 +9,10 @@ sanity - The ONLY meta pragma you'll ever need!
use sanity;
use sanity 'strictures';
use sanity 'Modern::Perl';
-
+
use sanity qw(
strictures -warnings/uninitialized/FATAL
- NO:autovivification NO:autovivification/store
+ NO:autovivification NO:autovivification/store
PRINT_PRAGMA_HASH
);
use sanity '!0*b^Npow{8T7_yZt<?cT6/?ZCO=Y0LV_Duoc'; # Safer ASCII version
@@ -29,20 +27,22 @@ for every person to use. These opinions turn into "personal pragmas", so that
people don't have to type several C<use> lines of header in front of every module
they write.
-Personal opinions and pragmas don't really belong in the CPAN namespace. (It's
+Personal opinions and pragmas don't really belong in the CPAN namespace. (It's
CPAN, not Personal PAN. If you want a Personal PAN, go call Pizza Hut.) But
copying code on potentially hundreds of modules doesn't make sense, either.
That was my mentality when I had a personal opinion of my own. Why repeat the same
problem like everybody else?
This "sanity" module attempts to level the playing field by making it a
-B<customizable> personal pragma, allowing you to both reduce the code needed and
+B<customizable> personal pragma, allowing you to both reduce the code needed and
still implement all of the modules/pragmas you need.
As an illustration to what it's capable of, this pragma will emulate all of the
other personal pragmas, most of them 100% working exactly how they do it.
+=encoding utf-8
+
=head1 PARAMETERS
Sanity's parameters fall into three types: flags, aliases, and hashes. (Oh my!)
@@ -59,7 +59,7 @@ Let's start off with an example:
use Modern::Perl;
use sanity 'Modern::Perl';
use sanity qw(strict warnings mro/dfs feature IO::File IO::Handle);
-
+
# ...these statements
use strict;
use warnings;
@@ -106,11 +106,11 @@ versions:
use sanity 'v5.10.1';
use sanity v5.10.1; # as a VSTRING
use sanity 5.10.1; # works too
-
+
# Upgrade the Perl version of your favorite pragma
use sanity qw(NO:nonsense v5.12);
-Note that the version must be at least v5.8. This should be fine for most people. (If
+Note that the version must be at least v5.8. This should be fine for most people. (If
I get a ticket requesting support for a Perl version older than one released in 2002, I
will hunt you down and break your keyboard in half.)
@@ -145,7 +145,7 @@ This number can be calculated using the flag C<PRINT_PRAGMA_HASH>:
mro/c3
Carp
), 'PRINT_PRAGMA_HASH');
-
+
# Outputs:
# use sanity '!04[D{9Fhfqc-7m738S4HK6B#D5=v{,T$(0)F5i'; # Safer ASCII version
# use sanity '¡05༕ቑ釩腜쥸봱楇䐍퇥熠ᾯ緻褻真堩'; # Shorter UTF8 version
@@ -168,13 +168,13 @@ from a flag, as it's part of the name of the flag, not a special modifier.
# These two are NOT the same!
use sanity 'NO:indirect'; # runs indirect->unimport()
use sanity '-indirect'; # Dies, as there is no such flag/alias
-
+
# This runs through the strictures alias and runs autovivification->unimport()
use sanity qw(strictures NO:autovivification);
-
+
# This runs through the strictures alias WITHOUT running indirect->unimport()
use sanity qw(strictures -NO:indirect);
-
+
use sanity '-indirect'; # This isn't what you want...
no sanity 'NO:indirect'; # ...you really meant to do this...
use indirect; # ...but this is better
@@ -186,7 +186,7 @@ clear these out first before running through the list.
# This...
use sanity qw(strict -strict/vars);
-
+
# ...is the same as this...
no strict;
use strict qw(subs refs);
@@ -196,9 +196,9 @@ fatal to older Perls. See L<https://rt.perl.org/rt3/Ticket/Display.html?id=1129
=head2 "Author" pragmas
-Certain pragmas really only exist to make sure the code is designed right. These
+Certain pragmas really only exist to make sure the code is designed right. These
pragmas are deemed "optional" by C<sanity>. In other words, if the user doesn't
-have them, it will just silently ignore them and move on. If C<sanity> thinks your
+have them, it will just silently ignore them and move on. If C<sanity> thinks you're
an author/coder of the module itself (.git/svn/$ENV checks), it will give you a
warning that they are missing, but move on.
@@ -216,7 +216,7 @@ normally fatally error.
# (autovivification probably shouldn't be here, since it actually
# prevents autoviv, but it's generally used as an author tool.)
-This feature was borrowed from L<strictures> and tweaked.
+This feature was borrowed from L<strictures> and tweaked.
=head1 LIST OF FLAGS
@@ -325,26 +325,26 @@ This feature was borrowed from L<strictures> and tweaked.
filetest
utf8
NO:overloading
-
+
warnings/* => warnings NONFATAL => '[whatever]' # supports all flags, multi or not
warnings/*/FATAL => warnings FATAL => '[whatever]' # supports all flags; FATAL trumps NONFATAL
warnings => warnings NONFATAL => 'all'
warnings/FATAL => warnings FATAL => 'all'
-
+
feature/* => feature '[whatever]' # supports all flags
feature/5.## => # similar to feature enabling via 'use v5.##'; major version only
feature/5.9.5 => # also exists, just like feature/5.10
feature => feature ':all' # not exactly, but in spirit
-
+
# Perl versions, described above
v5.##.##
-
+
# autodie
autodie/* => autodie ':[whatever]' # supports all _category_ flags, like all, io, shm, etc.
# (Will expand if requested, but I don't want to waste
# all of that bit space right now.)
autodie => autodie ':default'
-
+
# other CORE pragmas
bigint
bignum
@@ -360,7 +360,7 @@ This feature was borrowed from L<strictures> and tweaked.
# namespace cleaners
namespace::clean # included last; adds -except => 'meta'
- namespace::functions # included last
+ namespace::functions # included last
namespace::autoclean
namespace::sweep
@@ -376,13 +376,13 @@ This feature was borrowed from L<strictures> and tweaked.
perl5i::2
perl5i::3
perl5i::latest
-
+
NO:indirect
NO:indirect/global
NO:indirect/fatal
NO:multidimensional
NO:bareword::filehandles
-
+
subs::auto
utf8::all
IO::File
@@ -394,6 +394,11 @@ This feature was borrowed from L<strictures> and tweaked.
autolocale
Toolkit
+ Function::Parameters
+ Function::Parameters/strict
+ Switch::Plain
+ Quote::Code
+
Am I missing something? Let me know.
=head1 TODO
@@ -439,7 +444,7 @@ Brendan Byrd <BBYRD@CPAN.org>
=head1 COPYRIGHT AND LICENSE
-This software is Copyright (c) 2012 by Brendan Byrd.
+This software is Copyright (c) 2013 by Brendan Byrd.
This is free software, licensed under:
View
142 lib/sanity.pm
@@ -1,6 +1,6 @@
package sanity;
-our $VERSION = '0.94'; # VERSION
+our $VERSION = '0.95'; # VERSION
# ABSTRACT: The ONLY meta pragma you'll ever need!
# use feature has to be difficult...
@@ -111,7 +111,7 @@ my @FLAGS = (
XXX:HINT_0x40000000
XXX:HINT_0x80000000
),
-
+
# warnings.pm (Bits 32-160)
# (matches REVERSE ordering of $^{WARNING_BITS} << 32)
qw(
@@ -180,7 +180,7 @@ my @FLAGS = (
XXX:warnings/62 XXX:warnings/62/FATAL
XXX:warnings/63 XXX:warnings/63/FATAL
),
-
+
# feature (Bits 161-176)
qw(
feature/^V
@@ -200,7 +200,7 @@ my @FLAGS = (
XXX:feature/14
XXX:feature/15
),
-
+
# Perl versions (Bits 177-184)
# (MAJOR-8)*16 + MINOR + 1 = 8-bit bitmap
qw(
@@ -235,7 +235,7 @@ my @FLAGS = (
XXX:autodie/14
XXX:autodie/15
),
-
+
# Other CORE pragmas (Bits 201-216)
qw(
bigint
@@ -292,6 +292,13 @@ my @FLAGS = (
perl5i::latest
Toolkit
),
+ # new adds
+ qw(
+ Function::Parameters
+ Function::Parameters/strict
+ Switch::Plain
+ Quote::Code
+ ),
);
my %FLAGS; # namespace abuse I know...
$FLAGS{$FLAGS[$_]} = $_ for (0 .. @FLAGS-1);
@@ -323,7 +330,7 @@ my %ALIAS = (
'feature/5.15' => 'feature/5.11',
'feature/5.16' => 'feature/5.11',
feature => 'feature/^V',
-
+
'autodie/ipc' => [qw(MULTI:autodie/ipc autodie/msg autodie/semaphore autodie/shm)],
'autodie/io' => [qw(MULTI:autodie/io autodie/dbm autodie/file autodie/filesys autodie/ipc autodie/socket)],
'autodie/default' => [qw(autodie/io autodie/threads)],
@@ -332,14 +339,14 @@ my %ALIAS = (
mro => 'mro/dfs',
'NO:autovivification' => [map { 'NO:autovivification/'.$_ } qw(fetch exists delete)],
-
+
'criticism/gentle' => [map { 'BITMAP:criticism/'.$_ } qw(0 2)],
'criticism/stern' => 'BITMAP:criticism/2',
'criticism/harsh' => [map { 'BITMAP:criticism/'.$_ } qw(0 1)],
'criticism/cruel' => 'BITMAP:criticism/1',
'criticism/brutal' => 'BITMAP:criticism/0',
criticism => 'criticism/gentle',
-
+
# mimicry of other "meta pragma" modules
'ex::caution' => [qw(strict warnings)],
'NO:crap' => [qw(strict warnings)],
@@ -364,7 +371,7 @@ my %ALIAS = (
mro/c3
Carp
)],
- 'common::sense' => [qw(
+ 'common::sense' => [qw(
strict feature/5.10
), (
map { "warnings/$_/FATAL" } qw(closed threads internal debugging pack malloc
@@ -412,11 +419,11 @@ sub import {
# See if we need to encode a pragma hash
my $print_hash = find_and_remove(qr/^PRINT_PRAGMA_HASH$/, \@args);
-
+
@args = ($class) unless (@args);
unshift @args, $class if (all { /^-/ } @args); # don't be all negative and such
@args = filter_args(@args);
-
+
if ($print_hash) {
binmode STDOUT, ':utf8';
print "use $class '".encode_pragmahash(\@args, '!')."'; # Safer ASCII version\n";
@@ -427,15 +434,11 @@ sub import {
# Look for every indicator that proves that the user is in the distro directory
# and appears to be one of the coders
- my $author_mode = !!($0 =~ /^x?t\/.*\.t$/ && (-d '.git' or -d '.svn'));
- $author_mode = 1 if ($ENV{PERL5OPT} =~ /CPAN-Reporter/);
- $author_mode = 1 if (grep { $ENV{$_} } (qw/
- AUTOMATED_TESTING RELEASE_TESTING AUTHOR_TESTING PERL_CR_SMOKER_CURRENT
- /) );
+ my $author_mode = !!((caller)[1] =~ /^(?:x?t|b?lib)[\/\\]/ && (-d '.git' or -d '.svn'));
$author_mode = 0 if (grep {
$ENV{"PERL5_${_}_IS_RUNNING"} || $ENV{"PERL5_${_}_IS_RUNNING_IN_RECURSION"}
} (qw/CPANM CPANP CPANPLUS CPAN/) );
-
+
# Process order:
# v5.##.##
# utf8
@@ -447,7 +450,7 @@ sub import {
# namespace::clean
# namespace::functions (always last)
# (If this needs to be changed, let me know and I can reorder it)
-
+
# Perl version
if ( my @perl_version = find_and_remove(qr/^BITMAP:perl\b/, \@args) ) {
my $bitmap = args2bitmask(@perl_version) >> $FLAGS{'BITMAP:perl/0'};
@@ -456,7 +459,7 @@ sub import {
eval "use v5.$mj.$mn";
}
-
+
my @init = find_and_remove(qr/^(?:utf8|mro|strict|warnings|feature)\b/, \@args);
my @end = find_and_remove(qr/^namespace::(clean|functions)\b/, \@args);
my @mod_list = uniq map { (/^(?:[A-Z]+\:(?!\:))?([\w\:]+)/)[0] } (@init, sort(@args), @end);
@@ -471,7 +474,7 @@ sub import {
push @failed, $module;
}
}
-
+
if (@failed and $author_mode and not $author_load_warned++) {
my $failed = join ' ', @failed;
warn <<EOE;
@@ -514,25 +517,25 @@ sub load_pragma {
# import/unimport called us, so one step back
my $target = scalar caller(1);
-
+
my ($module, @options);
foreach my $flag (@_) {
($module, my $param) = ($flag =~ qr!^([\w\:]+)(?:/(.+))?!);
push @options, $param if ($param);
- }
-
+ }
+
# handle NO:
my ($modifier) = ($module =~ s/^([A-Z]+)\:(?!\:)//);
$method = 'un'.$method if ($modifier eq 'NO');
$method =~ s/^unun//;
$method .= '::'.($method =~ /^un/ ? 'out_of' : 'into');
-
+
die "Cannot use XXX flag: XXX:$module" if ($modifier eq 'XXX');
# Specific exceptions
-
+
# (:param format for certain modules)
- @options = map { ":$_" } @options if ($module =~ /^(?:open|indirect|charnames|autodie)$/);
+ @options = map { ":$_" } @options if ($module =~ /^(?:open|indirect|charnames|autodie|Function::Parameters)$/);
# ^V = $^V (like feature)
@options = map { $_ = ($_ eq '^V') ? $VER_PACK : $_ } @options;
# remove feature/HINT/unicode
@@ -549,22 +552,22 @@ sub load_pragma {
my $options = [@options];
my @fatal = map { s|/FATAL$||; $_ } find_and_remove(qr|/FATAL$|, $options);
my @nonfatal = notin(\@fatal, $options);
-
+
# To prevent "Unknown warnings category" errors for various versions of Perl,
# we'll need to remove the ones that don't exist in the current version.
-
+
# (also remove the combo flags while we're at it...)
my @combos = grep { /^MULTI:warnings\/\w+$/ } @FLAGS;
@combos = map { s|MULTI:warnings/||; $_ } @combos;
-
+
my @warn_categories = keys %warnings::Offsets;
@fatal = notin(\@combos, [ foundin(\@warn_categories, \@fatal) ]);
@nonfatal = notin(\@combos, [ foundin(\@warn_categories, \@nonfatal) ]);
-
+
# if this is an import, first clean all warnings
require warnings;
warnings->unimport();
-
+
# warnings can handle both in one import, so let's do it that way
@options = ();
push(@options, FATAL => @fatal) if (@fatal);
@@ -586,7 +589,7 @@ sub load_pragma {
# open gets kinda strange with the eval/require
my $evalmodule = $module;
$evalmodule = "'open.pm'" if ($module eq 'open');
-
+
# DO IT!
if (eval "require $evalmodule; 1") {
$module->$method($target, @options);
@@ -599,12 +602,12 @@ sub find_and_remove {
my ($re, $arr) = @_;
return (wantarray ? () : undef) unless @$arr;
$re = qr/$re/ unless (ref $re eq 'Regexp');
-
+
my @flags;
for (my $i = 0; $i < @$arr; $i++) {
push @flags, splice(@$arr, $i--, 1) if ($arr->[$i] =~ $re);
}
-
+
return @flags;
}
@@ -626,7 +629,7 @@ sub filter_args {
sub args2bitmask {
my @args = @_;
-
+
my $bitmask = 0;
while (my $flag = shift @args) {
my $negate_bit = ($flag =~ s/^-//);
@@ -647,10 +650,10 @@ sub args2bitmask {
my ($mj, $mn) = ($+{major}, $+{minor});
($mj, $mn) = (ord($mj), ord($mn)) if $flag =~ /^\x05/;
$mn ||= 0; # bigint/BigInt has weird problems with undef
-
+
my $bitmask8 = ($mj-8) * 16 + $mn + 1;
die "Perl version flags for sanity must be at least 5.8.0" if ($bitmask8 <= 0);
-
+
foreach my $bit8 (0..7) {
push @args, 'BITMAP:perl/'.$bit8 if ($bitmask8 & 1 << $bit8);
}
@@ -684,7 +687,7 @@ sub args2bitmask {
die "Unsupported flag: $flag";
}
}
-
+
return $bitmask;
}
@@ -695,7 +698,7 @@ sub bitmask2flags {
foreach my $bit (0..@FLAGS-1) {
push @flags, $FLAGS[$bit] if ($bitmask & 1 << $bit);
}
-
+
return @flags;
}
@@ -704,7 +707,7 @@ my $CURRENT_HASH_VERSION = 0;
sub encode_pragmahash {
my ($flags, $type) = @_;
$type ||= '¡';
-
+
$flags = args2bitmask(@$flags) if (ref $flags eq 'ARRAY');
my $hash = ($type eq '!' ? $calc90 : $calc48900)->to_base($flags);
return $type.$CURRENT_HASH_VERSION.$hash
@@ -716,7 +719,7 @@ sub decode_pragmahash {
($hash, my $type) = (substr($hash, 1), substr($hash, 0, 1));
die "Invalid hash type ($type) for pragma hash: $hash" unless ($type =~ /^[!¡]$/);
die "Unsupported pragma hash version!" unless ($hash =~ s/^$CURRENT_HASH_VERSION//);
-
+
return ($type eq '!' ? $calc90 : $calc48900)->from_base($hash);
}
@@ -727,8 +730,6 @@ sub decode_pragmahash {
=pod
-=encoding utf-8
-
=head1 NAME
sanity - The ONLY meta pragma you'll ever need!
@@ -738,10 +739,10 @@ sanity - The ONLY meta pragma you'll ever need!
use sanity;
use sanity 'strictures';
use sanity 'Modern::Perl';
-
+
use sanity qw(
strictures -warnings/uninitialized/FATAL
- NO:autovivification NO:autovivification/store
+ NO:autovivification NO:autovivification/store
PRINT_PRAGMA_HASH
);
use sanity '!0*b^Npow{8T7_yZt<?cT6/?ZCO=Y0LV_Duoc'; # Safer ASCII version
@@ -756,20 +757,22 @@ for every person to use. These opinions turn into "personal pragmas", so that
people don't have to type several C<use> lines of header in front of every module
they write.
-Personal opinions and pragmas don't really belong in the CPAN namespace. (It's
+Personal opinions and pragmas don't really belong in the CPAN namespace. (It's
CPAN, not Personal PAN. If you want a Personal PAN, go call Pizza Hut.) But
copying code on potentially hundreds of modules doesn't make sense, either.
That was my mentality when I had a personal opinion of my own. Why repeat the same
problem like everybody else?
This "sanity" module attempts to level the playing field by making it a
-B<customizable> personal pragma, allowing you to both reduce the code needed and
+B<customizable> personal pragma, allowing you to both reduce the code needed and
still implement all of the modules/pragmas you need.
As an illustration to what it's capable of, this pragma will emulate all of the
other personal pragmas, most of them 100% working exactly how they do it.
+=encoding utf-8
+
=head1 PARAMETERS
Sanity's parameters fall into three types: flags, aliases, and hashes. (Oh my!)
@@ -786,7 +789,7 @@ Let's start off with an example:
use Modern::Perl;
use sanity 'Modern::Perl';
use sanity qw(strict warnings mro/dfs feature IO::File IO::Handle);
-
+
# ...these statements
use strict;
use warnings;
@@ -833,11 +836,11 @@ versions:
use sanity 'v5.10.1';
use sanity v5.10.1; # as a VSTRING
use sanity 5.10.1; # works too
-
+
# Upgrade the Perl version of your favorite pragma
use sanity qw(NO:nonsense v5.12);
-Note that the version must be at least v5.8. This should be fine for most people. (If
+Note that the version must be at least v5.8. This should be fine for most people. (If
I get a ticket requesting support for a Perl version older than one released in 2002, I
will hunt you down and break your keyboard in half.)
@@ -872,7 +875,7 @@ This number can be calculated using the flag C<PRINT_PRAGMA_HASH>:
mro/c3
Carp
), 'PRINT_PRAGMA_HASH');
-
+
# Outputs:
# use sanity '!04[D{9Fhfqc-7m738S4HK6B#D5=v{,T$(0)F5i'; # Safer ASCII version
# use sanity '¡05༕ቑ釩腜쥸봱楇䐍퇥熠ᾯ緻褻真堩'; # Shorter UTF8 version
@@ -895,13 +898,13 @@ from a flag, as it's part of the name of the flag, not a special modifier.
# These two are NOT the same!
use sanity 'NO:indirect'; # runs indirect->unimport()
use sanity '-indirect'; # Dies, as there is no such flag/alias
-
+
# This runs through the strictures alias and runs autovivification->unimport()
use sanity qw(strictures NO:autovivification);
-
+
# This runs through the strictures alias WITHOUT running indirect->unimport()
use sanity qw(strictures -NO:indirect);
-
+
use sanity '-indirect'; # This isn't what you want...
no sanity 'NO:indirect'; # ...you really meant to do this...
use indirect; # ...but this is better
@@ -913,7 +916,7 @@ clear these out first before running through the list.
# This...
use sanity qw(strict -strict/vars);
-
+
# ...is the same as this...
no strict;
use strict qw(subs refs);
@@ -923,9 +926,9 @@ fatal to older Perls. See L<https://rt.perl.org/rt3/Ticket/Display.html?id=1129
=head2 "Author" pragmas
-Certain pragmas really only exist to make sure the code is designed right. These
+Certain pragmas really only exist to make sure the code is designed right. These
pragmas are deemed "optional" by C<sanity>. In other words, if the user doesn't
-have them, it will just silently ignore them and move on. If C<sanity> thinks your
+have them, it will just silently ignore them and move on. If C<sanity> thinks you're
an author/coder of the module itself (.git/svn/$ENV checks), it will give you a
warning that they are missing, but move on.
@@ -943,7 +946,7 @@ normally fatally error.
# (autovivification probably shouldn't be here, since it actually
# prevents autoviv, but it's generally used as an author tool.)
-This feature was borrowed from L<strictures> and tweaked.
+This feature was borrowed from L<strictures> and tweaked.
=head1 LIST OF FLAGS
@@ -1052,26 +1055,26 @@ This feature was borrowed from L<strictures> and tweaked.
filetest
utf8
NO:overloading
-
+
warnings/* => warnings NONFATAL => '[whatever]' # supports all flags, multi or not
warnings/*/FATAL => warnings FATAL => '[whatever]' # supports all flags; FATAL trumps NONFATAL
warnings => warnings NONFATAL => 'all'
warnings/FATAL => warnings FATAL => 'all'
-
+
feature/* => feature '[whatever]' # supports all flags
feature/5.## => # similar to feature enabling via 'use v5.##'; major version only
feature/5.9.5 => # also exists, just like feature/5.10
feature => feature ':all' # not exactly, but in spirit
-
+
# Perl versions, described above
v5.##.##
-
+
# autodie
autodie/* => autodie ':[whatever]' # supports all _category_ flags, like all, io, shm, etc.
# (Will expand if requested, but I don't want to waste
# all of that bit space right now.)
autodie => autodie ':default'
-
+
# other CORE pragmas
bigint
bignum
@@ -1087,7 +1090,7 @@ This feature was borrowed from L<strictures> and tweaked.
# namespace cleaners
namespace::clean # included last; adds -except => 'meta'
- namespace::functions # included last
+ namespace::functions # included last
namespace::autoclean
namespace::sweep
@@ -1103,13 +1106,13 @@ This feature was borrowed from L<strictures> and tweaked.
perl5i::2
perl5i::3
perl5i::latest
-
+
NO:indirect
NO:indirect/global
NO:indirect/fatal
NO:multidimensional
NO:bareword::filehandles
-
+
subs::auto
utf8::all
IO::File
@@ -1121,6 +1124,11 @@ This feature was borrowed from L<strictures> and tweaked.
autolocale
Toolkit
+ Function::Parameters
+ Function::Parameters/strict
+ Switch::Plain
+ Quote::Code
+
Am I missing something? Let me know.
=head1 TODO
@@ -1166,7 +1174,7 @@ Brendan Byrd <BBYRD@CPAN.org>
=head1 COPYRIGHT AND LICENSE
-This software is Copyright (c) 2012 by Brendan Byrd.
+This software is Copyright (c) 2013 by Brendan Byrd.
This is free software, licensed under:
View
6 lib/sanity/BaseCalc.pm
@@ -1,12 +1,12 @@
package # hide from PAUSE
sanity::BaseCalc;
-our $VERSION = '0.94'; # VERSION
+our $VERSION = '0.95'; # VERSION
# ABSTRACT: DO NOT USE!
use strict;
use Carp;
-use Math::BigInt;
+use Math::BigInt 1.78; # 1.78 = round_mode => common
use Math::BigFloat;
# configure some basic big number stuff
@@ -221,7 +221,7 @@ Brendan Byrd <BBYRD@CPAN.org>
=head1 COPYRIGHT AND LICENSE
-This software is Copyright (c) 2012 by Brendan Byrd.
+This software is Copyright (c) 2013 by Brendan Byrd.
This is free software, licensed under:
View
4 t/000-report-versions-tiny.t
@@ -9,7 +9,7 @@ our $success = 0;
END { $success && done_testing; }
# List our own version used to generate this
-my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.06\n";
+my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08\n";
eval { # no excuses!
# report our Perl details
@@ -53,6 +53,7 @@ eval { $v .= pmver('IO::All','any version') };
eval { $v .= pmver('Import::Into','1.001000') };
eval { $v .= pmver('List::MoreUtils','0.23') };
eval { $v .= pmver('Test::CheckDeps','0.002') };
+eval { $v .= pmver('Test::Pod','1.41') };
eval { $v .= pmver('Test::UseAllModules','0.10') };
eval { $v .= pmver('Toolkit','any version') };
eval { $v .= pmver('autolocale','any version') };
@@ -70,6 +71,7 @@ eval { $v .= pmver('subs::auto','any version') };
eval { $v .= pmver('true','any version') };
eval { $v .= pmver('utf8::all','any version') };
eval { $v .= pmver('vendorlib','any version') };
+eval { $v .= pmver('version','0.9901') };
# All done.

No commit comments for this range

Something went wrong with that request. Please try again.