Podemos definir un espacio de nombres al que esté limitado el código a ejecutar, sin permiso de interactuar con ningún símbolo localizado fuera de éste. Para intercambiar datos con el código que esté dentro del compartimiento, podemos utilizar las variables default ($_, @_, %_), así como las que le declaremos explícitamente al crear el compartimiento como variables compartibles.
El espacio de nombres por omisión es Safe::Root0 para el primer compartimiento, Safe::Root1 para el segundo, etc. Para interrogar a un compartimiento acerca del espacio en que está corriendo, utilizamos el método root.
Podemos especificar el espacio de nombres que queremos que use el compartimiento llamándolo así:
$compart = new Safe 'escondido';
print $compart->root;Esto causa que el espacio de nombres que utilice sea escondido, que es lo que nos imprime.