in reply to use x; equivalent

You're getting problems because pack is a builtin command.

Also, you're using indirect method call which has problems. Instead of
BEGIN { require Module; import Module; }
use
BEGIN { require Module; Module->import(); }

Perl provides a dummy import method (in universal base class UNIVERSAL) to save you from checking if the module actually declared an import method.

So,

use Module;
is equivalent to
BEGIN { require Module; Module->import(); }

use Module ();
is equivalent to
BEGIN { require Module; }

use Module LIST;
is equivalent to
BEGIN { require Module; Module->import(LIST); }