日期:2014-05-16  浏览次数:20643 次

在shell中调用perl的返回值问题。
请问 我在c shell里调用一个perl, 想使用这个perl的返回值,然后使用cut将返回值分割为两块,并分别赋值给两个变量。
出现如下问题,请高手帮我看一下~~

perl内容:(testS.pl)#!/opt/perl/5.8.0/bin/perl

print "how are u";


shell内容:#!/bin/csh

testS.pl
set deal_str = "$?"

#set deal_str = "How Are U"

echo $deal_str | cut -d ' ' -f1
echo $deal_str | cut -d ' ' -f2

当执行这个shell时,出现how are uVariable syntax
不明白为什么。当在shell中对deal_str进行赋值,就能够顺利的分割。


------解决方案--------------------
手工执行testS.pl,有什么输出?
------解决方案--------------------
Perl code
#!/bin/csh
#testS.pl
deal_str=$(perl testS.pl)

#deal_str="How Are U"

echo $deal_str | cut -d ' ' -f1
echo $deal_str | cut -d ' ' -f2