繁体   English   中英

在Bash脚本中访问perl模块

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM