Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^4: How to import "global" variables into sub-scripts from main script?

by Polyglot (Chaplain)
on Mar 22, 2021 at 11:09 UTC ( [id://11130103]=note: print w/replies, xml ) Need Help??


in reply to Re^3: How to import "global" variables into sub-scripts from main script?
in thread How to import "global" variables into sub-scripts from main script?

Keep in mind that I have only one file among all of them which uses the shebang line--just the main script. These attached files are not designed to be independent, and could probably work just as well given a ".txt" suffix. Though I have put ".pl" as their suffix, I do not set their executable bits on the server, i.e. they are chmod 640 instead of 755 (running on linux). Furthermore, they basically return true immediately, without executing anything. All they do is provide space for me to organize my various subroutines.

Taken together, they average over 850 lines per file. I'd like to bring that down further, as anything over about 600 lines begins to get unwieldy for me and I have a harder time finding things or remembering where to look for them. I never realized that perl wants to be an all-in-one-big-file script, with no way to share global variables!

Again, I'm not writing or using packages. I'm just spreading out my script into multiple files for organizational purposes.

Next, I suppose, I'll have to write a separate script that combines all of my individual files into a single file on the server prior to run-time. Sigh. Wow. I can't believe this. I always imagined Perl to be more capable--this seems such a simple thing to be able to do, not even a majorly complex problem.

Blessings,

~Polyglot~

  • Comment on Re^4: How to import "global" variables into sub-scripts from main script?

Replies are listed 'Best First'.
Re^5: How to import "global" variables into sub-scripts from main script?
by AnomalousMonk (Archbishop) on Mar 22, 2021 at 11:38 UTC
    ... this seems such a simple thing to be able to do, not even a majorly complex problem.

    It is simple, but there's nothing so simple that it cannot be made more complex. :)

    IIUC, you're not using package anywhere, so all your code is in the default main package. But for some reason you can't use the fully-qualified $main::variable_name (with $ replaced by the appropriate sigil) form to access globals, nor can you use
        our $variable_name;
    statements to declare variables within the file-scopes of the various source files of your application.

    I think you're right: avoid strict and warnings like the plague, and use the unqualified form for all globals. If nothing else, it will be employment insurance.


    Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11130103]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2024-04-19 08:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found