我有一个带有数据定义(散列,数组等)的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 );
答案 0 :(得分:3)
如果@tests
模块中有包变量Data
,
perl -MData -e 'print "$_\n" for @Data::tests'
对于perl 5.10及以上版本,
perl -MData -E 'say for @Data::tests'
答案 1 :(得分:0)
您可以使用命令行中的模块-M
perl -MData -e'print map {"$_\n"} @tests;'
在您提供的代码中,您运行一个加载数据的解释器。它退出了。然后运行第二个解释器,打印@tests。由于这是第二个翻译所执行的唯一动作,它未被初始化,并且没有打印任何内容。