use Inline Python => ( <<'__EOS__' =~ s/^[ ]{3}//mgr );
import sys
var_py = "test"
def get_var_py():
return var_py
def _get_global_var(name):
name = name.decode('UTF-8')
return globals()[name]
def _get_module_var(mod_name, var_name):
mod_name = mod_name.decode('UTF-8')
var_name = var_name.decode('UTF-8')
return getattr(sys.modules[mod_name], var_name)
__EOS__
sub get_global_var { my @args = @_; utf8::encode($_) for @args; _get_global_var(@args) }
sub get_module_var { my @args = @_; utf8::encode($_) for @args; _get_module_var(@args) }
say "Variable from py: " . get_var_py();
say "Variable from py: " . get_global_var('var_py');
say "Variable from py: " . get_module_var('__main__', 'var_py');
Output
Variable from py: test
Variable from py: test
Variable from py: test