簡體   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