Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

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

by choroba (Cardinal)
on Mar 22, 2021 at 10:26 UTC ( [id://11130095]=note: print w/replies, xml ) Need Help??


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

> It didn't work

our $DEBUG;
could have worked, though.

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Replies are listed 'Best First'.
Re^6: How to import "global" variables into sub-scripts from main script?
by Polyglot (Chaplain) on Mar 22, 2021 at 10:41 UTC

    Redeclaring a variable means its value is reset. This means a change to $DEBUG in the main script would have no effect in the companion file. I don't relish the idea of having to go and manually set debug variables in every one of the companion files (I currently have sixteen of them, and the list may grow yet more), save them, then reupload ALL of them to the server every time I want to debug something--then of course reverse the process to stop debugging. Joy! Doesn't that sound Perlish? ...all instead of just importing a variable. I truly have a hard time wrapping my mind around this major lapse in the Perl capabilities.

    Blessings,

    ~Polyglot~

      our is not a declaration. It's different to local and my. Yes, it's confusing.

      Have you tried it? For example:

      1.pl

      #!/usr/bin/perl use warnings; use strict; our $x = 12; require './2.pl'; print "Done\n";

      2.pl

      #!/usr/bin/perl use warnings; use strict; our $x; print $x, "\n";

      Calling 1.pl:

      12 Done

      map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-25 23:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found