Mam problem ze zrozumieniem sposobu eksportowania symbolu pakietu do przestrzeni nazw. Podążyłem za dokumentacją prawie identycznie, ale wydaje się, że nie wiem o żadnym z eksportujących symboli.Jak wyeksportować symbol pakietu do przestrzeni nazw w Perlu?
mod.pm
#!/usr/bin/perl
package mod;
use strict;
use warnings;
require Exporter;
@ISA = qw(Exporter);
@EXPORT=qw($a);
our $a=(1);
1;
test.pl
$ cat test.pl
#!/usr/bin/perl
use mod;
print($a);
Jest to wynikiem prowadzenia to
$ ./test.pl
Global symbol "@ISA" requires explicit package name at mod.pm line 10.
Global symbol "@EXPORT" requires explicit package name at mod.pm line 11.
Compilation failed in require at ./test.pl line 3.
BEGIN failed--compilation aborted at ./test.pl line 3.
$ perl -version
This is perl, v5.8.4 built for sun4-solaris-64int
Dość starożytny Perl. Lepiej, jeśli możesz. – tsee
stary system, utknąłem z nim – Mike
Krótka wersja odpowiedzi poniżej jest już wyjaśniona w TFM: http://p3rl.org/Exporter#Good_Practices – daxim