DESCRIPTION OF DIAGNOSTICS ...same as above... Trappable errors may be trapped using the eval operator. See perlfunc/eval. In almost all cases, warnings may be selectively disabled or promoted to fatal errors using the warnings pragma. See warnings. Global symbol "@line" requires explicit package name at Monks/Snippet.pm line 9. Global symbol "$test" requires explicit package name at Monks/Snippet.pm line 10. Global symbol "@line" requires explicit package name at Monks/Snippet.pm line 10. Global symbol "$test" requires explicit package name at Monks/Snippet.pm line 11. Global symbol "$test" requires explicit package name at Monks/Snippet.pm line 13. Execution of Monks/Snippet.pm aborted due to compilation errors (#1) (F) You've said "use strict vars", which indicates that all variables must either be lexically scoped (using "my"), declared beforehand using "our", or explicitly qualified to say which package the global variable is in (using "::").