#!/usr/bin/env perl use strict; use warnings; use feature qw/say/; package Foo; our $foovar; BEGIN{ $foovar = 42 } package main; # This does not work (gets "Variable $mainvar is not imported") BEGIN{ package main; *main::mainvar = \$Foo::foovar; } # But this does work ... why? #BEGIN{ package xyzzx; *main::mainvar = \$Foo::foovar; } say $mainvar;