[英]Access perl module within Bash script
我有一个带有数据定义(散列,数组等)的perl模块,有什么办法可以从bash脚本中访问这些数据吗? 这对我不起作用......
#!/bin/bash
perl -e 'use Data'
tests=`perl -e "@tests"; `
echo "Perl tests = ${tests}" # prints "Perl tests = "
该模块看起来像这样:
our @EXPORT_OK = qw( @tests );
our @tests = qw( 1 2 3 4 5 );
如果在Data
模块中有包变量@tests
,
perl -MData -e 'print "$_\n" for @Data::tests'
对于perl 5.10及以上版本,
perl -MData -E 'say for @Data::tests'
您可以在命令行中使用带-M的模块
perl -MData -e'print map {"$_\n"} @tests;'
在您提供的代码中,您运行一个加载数据的解释器。 它退出了。 然后运行第二个解释器,打印@tests。 因为这是第二个翻译所执行的唯一动作,它是未初始化的,并且不打印任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.