NAME
Arthas::Defaults::536 - Defaults for coding with perl 5.36 - Do not use if you're not Arthas
SYNOPSIS
use Arthas::Defaults::536;
DESCRIPTION
It's like saying:
use v5.36;
use utf8;
use warnings;
no warnings 'uninitialized';
use experimental 'signatures';
use experimental 'try';
use experimental 'defer';
use Carp qw/carp croak confess cluck/;
Might change without notice, at any time. DO NOT USE!
use v5.36
-
This is actually
use feature ':5.36'
. It imports some perl 5.10 -> 5.36 semantics, such as strict, given-when syntax, Unicode strings, signatures, ... See feature documentation and source code for more information. use utf8
-
This is NOT related to handling UTF-8 strings or input/output (see
use feature 'unicode_strings'
imported withuse v5.20
for something more related to that).use utf8
is imported in order to allow UTF-8 characters inside the source code: while using UTF-8 in the source is not standard procedure, it happens to me every now and then. Also, enabling this feature does no harm if you're using a recent version of perl, so why not enable it? use warnings FATAL => 'all'
-
Warnings are useful, who wouldn't want them?
However, if they are not treated as fatal errors, they are often ignored, making them pointless. So, be fatal!
no warnings 'uninitialized'
-
Well, most warnings are useful. The ones regarding uninitialized (undef) variables are a bit of a pain. Writing a code such as this:
my $str; if ( $str eq 'maya' ) { say 'Maya!'; }
would emit a warning, thus forcing you to write:
my $str; if ( defined $str && $str eq 'maya' ) { say 'Maya!'; }
which is boring enough to justify suppressing these warnings.
use Carp qw/carp croak confess cluck/
-
These functions are very useful to show error details better than that of
die()
andwarn()
. use experimental 'try'
-
Try - catch - finally... finally!
use experimental 'defer'
-
Defer blocks seem to be very useful.
WARNING
The 5.36 version of this module is not compatible with the previous one, bcause it replaces Try::Tiny with Perl's own new Try/Catch syntax, and discards the obsoleted postderef
syntax.
AUTHOR
Michele Beltrame, arthas@cpan.org
LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.