http://www.perlmonks.org?node_id=451577


in reply to To module or not?

The point of all the extra Exporter gunk as well as the package declaration is to put the code into its own separate namespace. Sure for your simple one sub it's overkill, but when you get more and more subs it'll make your life much easier.

Replies are listed 'Best First'.
Re^2: To module or not?
by bradcathey (Prior) on Apr 26, 2005 at 15:26 UTC

    A follow up question might be: is there a way to have global variable shared between the main::space and the module::space so I don't have to keep passing the same values over and over? (I know, not a good idea, but just for the sake of discussion)

    So, instead of:

    #MAIN: my $foo = "aaaaaaa"; my $bar = "bbbbbb"; print add_strings ($foo, $bar);

    Be able to just have:

    #MAIN: my $foo = "aaaaaaa"; my $bar = "bbbbbb"; print add_strings (); #MODULE: our ($foo, $bar); #this might be make-believe add_strings { my $newstring = $foo . $bar; return ($newstring); }

    —Brad
    "The important work of moving the world forward does not wait to be done by perfect men." George Eliot

      You could always reference $main::foo et al, but you'd have to use our $foo in main rather than my (lexicals not living in the symbol table and all).

      But yeah, not a good idea. Action at a distance, and what not.