Thorium

 view release on metacpan or  search on metacpan

lib/Thorium/Protection.pm  view on Meta::CPAN

package Thorium::Protection;
{
  $Thorium::Protection::VERSION = '0.510';
}
BEGIN {
  $Thorium::Protection::AUTHORITY = 'cpan:AFLOTT';
}

# ABSTRACT: Use protection when dealing with radioactive elements

use strict;
use warnings;

sub import {
    strict->import();
    warnings->import();

    require utf8;
    utf8->import();

    require feature;
    feature->import(':5.10');

    require mro;
    mro->import();
    mro::set_mro(scalar(caller()), 'c3');

    no indirect;
    indirect->unimport(':FATAL');

    return;
}

1;



=pod

=head1 NAME

Thorium::Protection - Use protection when dealing with radioactive elements

=head1 VERSION

version 0.510

=head1 SYNOPSIS

    use Thorium::Protection;

=head1 DESCRIPTION

This pragma[1] does:

=over

=item * Turns on strict

=item * Turns on all warnings

=item * Enable 5.10+ features via L<feature>

=item * Sets the method order resolution (mro) to C3. See L<mro> for more info

=item * Turns indirect method calling into a fatal action. This is done through
L<indirect>

=back

Inspiration derived from L<Modern::Perl> and cron.

[1] Technically not a pragma, but a lower case package name. But since we are
changing pragma-y things, make it look like one



( run in 1.513 second using v1.01-cache-2.11-cpan-39bf76dae61 )