Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Variable declared in script, used by module, and used in script

by pryrt (Monsignor)
on May 17, 2018 at 14:01 UTC ( #1214745=note: print w/replies, xml ) Need Help??


in reply to Variable declared in script, used by module, and used in script

When I want to pass a variable that's local to my script into a module, I pass it as an argument to a subroutine. In your case, it would be an anonymous sub in the array-of-hashrefs:

package check_module; use warnings; use strict; use Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(@checks); our @checks = ( { name => 'Anybody home?', #script => 'qq/echo $home_dir/', script => sub { `echo $_[0]` }, }, ); 1; __END__
use warnings; use strict; use lib '.'; use check_module; my $home_dir = '/home/mine'; for my $check ( @checks ) { chomp ( my $script_out = $check->{script}->($home_dir) ); print "Checking $check->{name}\n\t=> '$script_out'\n"; } __END__
__OUTPUT__ Checking Anybody home? => '/home/mine'

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (7)
As of 2020-11-30 23:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?