Name "main::cstrike" used only once: possible typo at ./loadmap.pl line 12 (#1) (W once) Typographical errors often show up as unique variable names. If you had a good reason for having a unique name, then just mention it again somehow to suppress the message. The our declaration is provided for this purpose. Can't use string ("1") as an ARRAY ref while "strict refs" in use at MAP.pm line 39 (#2) (F) Only hard references are allowed by "strict refs". Symbolic references are disallowed. See perlref. Uncaught exception from user code: Can't use string ("1") as an ARRAY ref while "strict refs" in use at MAP.pm line 39. MAP::array('cstrike') called at ./loadmap.pl line 9