in reply to Re^3: When is "use module" not the same as require+import?
in thread When is "use module" not the same as require+import?

BEGIN { my @fields = qw/field1 field2/; use fields @fields; }
is equivalent to
BEGIN { my @fields = qw/field1 field2/; BEGIN { require fields; fields->import(@fields); } }
which is compiled and executed as follows:
  1. my @fields = qw/field1 field2/; is compiled
  2. require fields; is compiled
  3. fields->import(@fields); is compiled
  4. require fields; is executed
  5. fields->import(@fields); is executed
  6. my @fields = qw/field1 field2/; is executed

As you can see, an empty array is passed to the module. I believe you were mistaken when you claimed it worked.