# I am a very simple module package MyModule; use warnings; use Exporter; our $VERSION = 1.00; our @ISA = qw(Exporter); our @EXPORT = qw(&func1); our @EXPORT_OK = qw(&func2); our %EXPORT_TAGS = (DEFAULT => [qw(&func1)], ALL => [qw(&func1 &func2)]); sub func1 {return reverse @_} sub func2 {return @_} 1; # here is a very simple script to use this module #!/use/bin/perl -w use strict; my @list = qw (J u s t ~ A n o t h e r ~ P e r l ~ H a c k e r !); # case 1 # use MyModule; # print func1(@list),"\n"; # print func2(@list),"\n"; # case 2 # use MyModule; # print func1(@list),"\n"; # print MyModule::func2(@list),"\n"; # case 3 # use MyModule qw(:DEFAULT); # print func1(@list),"\n"; # print func2(@list),"\n"; # case 4 # use MyModule qw(:ALL); # print func1(@list),"\n"; # print func2(@list),"\n";