use Safe;

$cpt = new Safe;  # create a new safe compartment

*****

$cpt = new Safe;

sub wrapper {

    ;# vet arguments and perform potentially unsafe operations

}

$cpt->share('&wrapper');  # see share method below

*****

$cpt = new Safe NAMESPACE, MASK;

*****

$cpt = new Safe 'Root';

$Root::foo = "Hello world";

# Equivalent version which doesn't need to know $cpt's package name:

${$cpt->varglob('foo')} = "Hello world";

