Skip to content

Instantly share code, notes, and snippets.

########### Bar.pm ################
use 5.008001;
use strict;
use warnings;
package Bar;
use warnings::register;
sub hello {
warnings::warnif( "problem" );

Fatal Warnings

The presence of the word "FATAL" in the category list will escalate warnings in those categories into fatal errors in that lexical scope.

#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
use MongoDB;
use JSON::MaybeXS;
use boolean;
my $json = JSON->new->convert_blessed->canonical;
diff --git a/lib/warnings.pm b/lib/warnings.pm
index cad00ea..8943a83 100644
--- a/lib/warnings.pm
+++ b/lib/warnings.pm
@@ -882,7 +882,37 @@ X<warning, fatal>
The presence of the word "FATAL" in the category list will escalate any
warnings detected from the categories specified in the lexical scope
-into fatal errors. In the code below, the use of C<time>, C<length>
+into fatal errors.
#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
use Browser::Open qw/open_browser/;
use Path::Tiny;
use Pod::Simple::XHTML;
use PIR;
use Time::HiRes qw/sleep/;
$ perl -MPIR -wE 'say for PIR->new->perl_file->all(qw/lib t/)' | git-blame-histo
David Golden 13843 (67%)
Kristina Chodorow 3024 (14%)
Mike Friedman 1390 (6%)
David Storch 911 (4%)
Eric Daniels 496 (2%)
Florian Ragwitz 303 (1%)
Casey Rojas 194 (0%)
Ken Williams 64 (0%)
Matthew Shopsin 64 (0%)
diff --git a/lib/Test/Fatal.pm b/lib/Test/Fatal.pm
index 97cb69f..0c53ba7 100644
--- a/lib/Test/Fatal.pm
+++ b/lib/Test/Fatal.pm
@@ -36,6 +36,12 @@ with about the same amount of typing.
It exports one routine by default: C<exception>.
+NOTE: C<exception> intentionally does not manipulate the call stack.
+User-written test functions that use C<exception> must be careful to avoid
use 5.008001;
use strict;
use warnings;
use Test::More 0.96;
use version;
my @cases = (
[ "v1.2_3", "1.002003" ],
[ "1.002_003", "1.002003" ],
[ v1.2.3, "1.002_003" ],
diff --git a/lib/CPAN/Meta/Requirements.pm b/lib/CPAN/Meta/Requirements.pm
index 2f4e92b..71ae8f0 100644
--- a/lib/CPAN/Meta/Requirements.pm
+++ b/lib/CPAN/Meta/Requirements.pm
@@ -110,34 +110,32 @@ sub _isa_version {
sub _version_object {
my ($self, $module, $version) = @_;
- my $vobj;
+ my ($vobj, $err);
### Keybase proof
I hereby claim:
* I am dagolden on github.
* I am xdg (https://keybase.io/xdg) on keybase.
* I have a public key whose fingerprint is 3C6F 35A2 38E5 E8B6 2490 21F6 33BF 37F3 9525 9C24
To claim this, I am signing this object: