-1

我已经编写了这个程序来在嵌入式 perl 脚本中传递一个变量,但它给出了空白输出:-( 为什么它不起作用。请解决这个问题。

php脚本

<?php
$var1='high'; 
exec('C:/xampp/htdocs/WORK/hello.pl'.' '.EscapeShellArg("$var1"),$output);
echo ($output);
?>

perl 脚本

#!/usr/bin/perl -w

    $var1=<>; 

    print $var1;
4

3 回答 3

1

关于什么

 $var1 = shift;

而不是从标准输入或参数文件中读取值?

于 2012-05-29T12:00:42.497 回答
1

因为您试图将数组作为字符串发送...您必须将数组序列化为 perl 可以反序列化的字符串,例如JSON, XML,CSV等。

于 2012-05-29T11:47:52.000 回答
0

一个原因是EscapeShellArg期望 $arg 参数是字符串类型,而在您的情况下,它是一个数组......

于 2012-05-29T11:48:02.357 回答