in reply to Internal error from Perl
If you load module with the 'use' statement, some symbols may be imported into your current package's namespace. The 'package' statement changes your current package AT THAT POSITION. Your current code, if viewed as a single stream, reads like this:
In modules, you should START with your package name, then bring in any other modules you want to use in defining that package's implementation.package main; use utf8; use charnames ':full'; use utf8; use charnames ':full'; package Foo; { ... code using utf8 ... } package main; { ... code not using utf8 ... }
package Foo; use utf8; ... 1;
--
[ e d @ h a l l e y . c c ]
|
|---|