2011年10月15日星期六

[PerlChina] RE: Hello

hey hope you are doing good! Do you need to make some extra money? http://t.co/fnAkB4q3 You've got to read this article! I paid off all my loans since I started working with this program.

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

找到原因了。
谢谢Robin。
我检查了httpd的error_log,上面显示是没发现我需要运行的程序-dialign。
我估计还是环境变量没有设置好。
CGI在调用外部命令的时候没有调用apache运行用户的设置。这一点我不知道是否理解的对。
所以我重新指定环境变量PATH和DIALIGN2_DIR(如果在本地执行,这些变量设置当然是对的,所以一开始并没有找到错误点!)

谢谢大家!

一松

2011/10/16 Robin Lee <robinlee.sysu@gmail.com>:
> 那就是没有错误。
> 你确定system里的命令没有被执行?
> 试一下 system("echo 'xxx'") ?
>
> 另外,应该判断 system 返回值是否为0来判断命令是否正确执行:
> system("xxx") == 0 or die;
> 而不是:
> system("xxx") or die;
>
> 另外,system的返回值并不是命令结束返回值,返回值是 ($? >> 8)。详见 perldoc -v '$?' 以及 perldoc -f system。
>
> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>> 没有什么额外的信息,只是说程序的第9行:
>> die cannot excute the proram: at temp.pl line 9.
>>
>> 一松
>>
>> 2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
>>> 改用
>>> die "cannot excute the proram: $!"
>>> 看看有什么系统错误信息
>>>
>>> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>>>> 诸位,一个小问题:
>>>>
>>>> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>>>> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>>>> 可以执行程序。
>>>>
>>>> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>>>> 代码如下:
>>>>
>>>> #!/usr/bin/perl
>>>>
>>>> #my $dir = $ENV{'DIALIGN2_DIR'};
>>>> #my $path = $ENV{'PATH'};
>>>>
>>>>
>>>> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
>>>> my $returnValue = system($commandLine) || die "cannot excute the proram";
>>>>
>>>> 非常感谢能有人出手帮助。
>>>>
>>>> 甄一松
>>
>> --

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

那就是没有错误。
你确定system里的命令没有被执行?
试一下 system("echo 'xxx'") ?

另外,应该判断 system 返回值是否为0来判断命令是否正确执行:
system("xxx") == 0 or die;
而不是:
system("xxx") or die;

另外,system的返回值并不是命令结束返回值,返回值是 ($? >> 8)。详见 perldoc -v '$?' 以及 perldoc -f system。

2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
> 没有什么额外的信息,只是说程序的第9行:
> die cannot excute the proram: at temp.pl line 9.
>
> 一松
>
> 2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
>> 改用
>> die "cannot excute the proram: $!"
>> 看看有什么系统错误信息
>>
>> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>>> 诸位,一个小问题:
>>>
>>> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>>> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>>> 可以执行程序。
>>>
>>> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>>> 代码如下:
>>>
>>> #!/usr/bin/perl
>>>
>>> #my $dir = $ENV{'DIALIGN2_DIR'};
>>> #my $path = $ENV{'PATH'};
>>>
>>>
>>> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
>>> my $returnValue = system($commandLine) || die "cannot excute the proram";
>>>
>>> 非常感谢能有人出手帮助。
>>>
>>> 甄一松
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

应该不是SElinux,此前我已经禁用了。
sestatus
SELinux status: disabled

一松

2011/10/16 Anthony WU <anthonywuy2k@gmail.com>:
> 查看一下 SELinux ��吧,九成是 SELinux 的��,如果只是���境你可以先
> ��直接�掉 SELinux 然後再�
>
> -------- Original Message --------
> Subject: Re: [PerlChina] system 调用外部命令无法执行
> From: Yisong Zhen <zhenyisong@gmail.com>
> To: perlchina@googlegroups.com
> Date: 15/10/2011 18:20
>> 谢谢x2x4和Robin。
>>
>> 本地的程序可以调用了,但是客户端通过服务器调用system 无法实现。求解!!!!
>>
>> http://www.perlmonks.org/?node_id=34398
>> Calling a method inside CGI script using system calls
>>
>> 自己搜索了一下,问题别人提出来了,但是还是没有解决。
>> perl /var/www/cgi-bin/cardiophylo.pl
>> $? 的返回值是"0",表明程序顺利执行。
>>
>> 然而页面执行该CGI,$? 返回值是32512.
>>
>> 我都授权755.
>>
>> 我不知道自己讲清楚了没有。着急啊!
>>
>> 一松
>>
>>
>> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>>> 改了,绝对路径也不行!
>>>
>>> 一松
>>> 2011/10/15 x2x4 <x2x4com@gmail.com>:
>>>> 写绝对路径试试,一般我习惯
>>>> my @return=`systemcommand 2>&1;echo \$?`
>>>> 然后判断$return[-1]是否为0,否则就吧数组return输出
>>>>
>>>> 在 2011-10-15 上午11:29,"Yisong Zhen" <zhenyisong@gmail.com>写道:
>>>>> 没有什么额外的信息,只是说程序的第9行:
>>>>> die cannot excute the proram: at temp.pl line 9.
>>>>>
>>>>> 一松
>>>>>
>>>>> 2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
>>>>>> 改用
>>>>>> die "cannot excute the proram: $!"
>>>>>> 看看有什么系统错误信息
>>>>>>
>>>>>> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>>>>>>> 诸位,一个小问题:
>>>>>>>
>>>>>>> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>>>>>>> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>>>>>>> 可以执行程序。
>>>>>>>
>>>>>>> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>>>>>>> 代码如下:
>>>>>>>
>>>>>>> #!/usr/bin/perl
>>>>>>>
>>>>>>> #my $dir = $ENV{'DIALIGN2_DIR'};
>>>>>>> #my $path = $ENV{'PATH'};
>>>>>>>
>>>>>>>
>>>>>>> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
>>>>>>> my $returnValue = system($commandLine) || die "cannot excute the
>>>>>>> proram";
>>>>>>>
>>>>>>> 非常感谢能有人出手帮助。
>>>>>>>
>>>>>>> 甄一松
>>>>> --
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>

--
//---------------------------------------------------------------------------------------
// We have a hunger of the mind which asks for knowledge
// of all around us, and the more we gain, the more is
// our desire; the more we see, the more we are capable
// of seeing.
//---------------------------------------------------------------------------------------
@
YiSong Zhen, Ph.D
State Key Laboratory of Translational Cardiovascular Medicine,
Fuwai Hospital & Cardiovascular Institute,
Chinese Academy of Medical Sciences,
Peking Union Medical College,
Beijing 100037, Beilishilu 167
P.R.China
http://www.cardiosignal.org
Tel: 13683138526 (mobile)
@----------------------------------------------------------------------------------------

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

查看一下 SELinux ��吧,九成是 SELinux 的��,如果只是���境你可以先
��直接�掉 SELinux 然後再�

-------- Original Message --------
Subject: Re: [PerlChina] system 调用外部命令无法执行
From: Yisong Zhen <zhenyisong@gmail.com>
To: perlchina@googlegroups.com
Date: 15/10/2011 18:20
> 谢谢x2x4和Robin。
>
> 本地的程序可以调用了,但是客户端通过服务器调用system 无法实现。求解!!!!
>
> http://www.perlmonks.org/?node_id=34398
> Calling a method inside CGI script using system calls
>
> 自己搜索了一下,问题别人提出来了,但是还是没有解决。
> perl /var/www/cgi-bin/cardiophylo.pl
> $? 的返回值是"0",表明程序顺利执行。
>
> 然而页面执行该CGI,$? 返回值是32512.
>
> 我都授权755.
>
> 我不知道自己讲清楚了没有。着急啊!
>
> 一松
>
>
> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>> 改了,绝对路径也不行!
>>
>> 一松
>> 2011/10/15 x2x4 <x2x4com@gmail.com>:
>>> 写绝对路径试试,一般我习惯
>>> my @return=`systemcommand 2>&1;echo \$?`
>>> 然后判断$return[-1]是否为0,否则就吧数组return输出
>>>
>>> 在 2011-10-15 上午11:29,"Yisong Zhen" <zhenyisong@gmail.com>写道:
>>>> 没有什么额外的信息,只是说程序的第9行:
>>>> die cannot excute the proram: at temp.pl line 9.
>>>>
>>>> 一松
>>>>
>>>> 2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
>>>>> 改用
>>>>> die "cannot excute the proram: $!"
>>>>> 看看有什么系统错误信息
>>>>>
>>>>> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>>>>>> 诸位,一个小问题:
>>>>>>
>>>>>> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>>>>>> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>>>>>> 可以执行程序。
>>>>>>
>>>>>> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>>>>>> 代码如下:
>>>>>>
>>>>>> #!/usr/bin/perl
>>>>>>
>>>>>> #my $dir = $ENV{'DIALIGN2_DIR'};
>>>>>> #my $path = $ENV{'PATH'};
>>>>>>
>>>>>>
>>>>>> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
>>>>>> my $returnValue = system($commandLine) || die "cannot excute the
>>>>>> proram";
>>>>>>
>>>>>> 非常感谢能有人出手帮助。
>>>>>>
>>>>>> 甄一松
>>>> --

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

谢谢x2x4和Robin。

本地的程序可以调用了,但是客户端通过服务器调用system 无法实现。求解!!!!

http://www.perlmonks.org/?node_id=34398
Calling a method inside CGI script using system calls

自己搜索了一下,问题别人提出来了,但是还是没有解决。
perl /var/www/cgi-bin/cardiophylo.pl
$? 的返回值是"0",表明程序顺利执行。

然而页面执行该CGI,$? 返回值是32512.

我都授权755.

我不知道自己讲清楚了没有。着急啊!

一松


2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
> 改了,绝对路径也不行!
>
> 一松
> 2011/10/15 x2x4 <x2x4com@gmail.com>:
>> 写绝对路径试试,一般我习惯
>> my @return=`systemcommand 2>&1;echo \$?`
>> 然后判断$return[-1]是否为0,否则就吧数组return输出
>>
>> 在 2011-10-15 上午11:29,"Yisong Zhen" <zhenyisong@gmail.com>写道:
>>>
>>> 没有什么额外的信息,只是说程序的第9行:
>>> die cannot excute the proram: at temp.pl line 9.
>>>
>>> 一松
>>>
>>> 2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
>>> > 改用
>>> > die "cannot excute the proram: $!"
>>> > 看看有什么系统错误信息
>>> >
>>> > 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>>> >> 诸位,一个小问题:
>>> >>
>>> >> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>>> >> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>>> >> 可以执行程序。
>>> >>
>>> >> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>>> >> 代码如下:
>>> >>
>>> >> #!/usr/bin/perl
>>> >>
>>> >> #my $dir = $ENV{'DIALIGN2_DIR'};
>>> >> #my $path = $ENV{'PATH'};
>>> >>
>>> >>
>>> >> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
>>> >> my $returnValue = system($commandLine) || die "cannot excute the
>>> >> proram";
>>> >>
>>> >> 非常感谢能有人出手帮助。
>>> >>
>>> >> 甄一松
>>>
>>> --

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年10月14日星期五

Re: [PerlChina] system 调用外部命令无法执行

改了,绝对路径也不行!

一松
2011/10/15 x2x4 <x2x4com@gmail.com>:
> 写绝对路径试试,一般我习惯
> my @return=`systemcommand 2>&1;echo \$?`
> 然后判断$return[-1]是否为0,否则就吧数组return输出
>
> 在 2011-10-15 上午11:29,"Yisong Zhen" <zhenyisong@gmail.com>写道:
>>
>> 没有什么额外的信息,只是说程序的第9行:
>> die cannot excute the proram: at temp.pl line 9.
>>
>> 一松
>>
>> 2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
>> > 改用
>> > die "cannot excute the proram: $!"
>> > 看看有什么系统错误信息
>> >
>> > 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>> >> 诸位,一个小问题:
>> >>
>> >> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>> >> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>> >> 可以执行程序。
>> >>
>> >> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>> >> 代码如下:
>> >>
>> >> #!/usr/bin/perl
>> >>
>> >> #my $dir = $ENV{'DIALIGN2_DIR'};
>> >> #my $path = $ENV{'PATH'};
>> >>
>> >>
>> >> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
>> >> my $returnValue = system($commandLine) || die "cannot excute the
>> >> proram";
>> >>
>> >> 非常感谢能有人出手帮助。
>> >>
>> >> 甄一松
>>
>> --

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

写绝对路径试试,一般我习惯
my @return=`systemcommand 2>&1;echo \$?`
然后判断$return[-1]是否为0,否则就吧数组return输出

在 2011-10-15 上午11:29,"Yisong Zhen" <zhenyisong@gmail.com>写道:
没有什么额外的信息,只是说程序的第9行:
die cannot excute the proram:  at temp.pl line 9.

一松

2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
> 改用
> die "cannot excute the proram: $!"
> 看看有什么系统错误信息
>
> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>> 诸位,一个小问题:
>>
>> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>> 可以执行程序。
>>
>> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>> 代码如下:
>>
>> #!/usr/bin/perl
>>
>> #my $dir = $ENV{'DIALIGN2_DIR'};
>> #my $path = $ENV{'PATH'};
>>
>>
>> my $commandLine       = "dialign2-2 -fn promoter.out -n promoter.seq";
>> my $returnValue       = system($commandLine) || die "cannot excute the proram";
>>
>> 非常感谢能有人出手帮助。
>>
>> 甄一松

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

没有什么额外的信息,只是说程序的第9行:
die cannot excute the proram: at temp.pl line 9.

一松

2011/10/15 Robin Lee <robinlee.sysu@gmail.com>:
> 改用
> die "cannot excute the proram: $!"
> 看看有什么系统错误信息
>
> 2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
>> 诸位,一个小问题:
>>
>> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
>> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
>> 可以执行程序。
>>
>> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
>> 代码如下:
>>
>> #!/usr/bin/perl
>>
>> #my $dir = $ENV{'DIALIGN2_DIR'};
>> #my $path = $ENV{'PATH'};
>>
>>
>> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
>> my $returnValue = system($commandLine) || die "cannot excute the proram";
>>
>> 非常感谢能有人出手帮助。
>>
>> 甄一松

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] system 调用外部命令无法执行

改用
die "cannot excute the proram: $!"
看看有什么系统错误信息

2011/10/15 Yisong Zhen <zhenyisong@gmail.com>:
> 诸位,一个小问题:
>
> 该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
> 即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
> 可以执行程序。
>
> 起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
> 代码如下:
>
> #!/usr/bin/perl
>
> #my $dir = $ENV{'DIALIGN2_DIR'};
> #my $path = $ENV{'PATH'};
>
>
> my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
> my $returnValue = system($commandLine) || die "cannot excute the proram";
>
> 非常感谢能有人出手帮助。
>
> 甄一松
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] system 调用外部命令无法执行

诸位,一个小问题:

该脚本运行在Fedora15上面:但是无法执行system里面的程序。但是,程序不用借助perl外部调用可以正确执行。
即,我直接在linux命令行敲入:dialign2-2 -fn promoter.out -n promoter.seq
可以执行程序。

起初我觉得是路径不对,我输出了路径,发现是正确的,而且所需的DIALIGN2_DIR变量也设置正确。
代码如下:

#!/usr/bin/perl

#my $dir = $ENV{'DIALIGN2_DIR'};
#my $path = $ENV{'PATH'};


my $commandLine = "dialign2-2 -fn promoter.out -n promoter.seq";
my $returnValue = system($commandLine) || die "cannot excute the proram";

非常感谢能有人出手帮助。

甄一松

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re:Re: [PerlChina] Hash 比较模块

非常感谢 :)
接着往下看找到了这个东西
  use Test::Deep::NoTest;    if eq_deeply($a, $b) {     print "they were deeply equal\n";   };
This exports all the same things as Test::Deep but it does not load Test::Builder so it can be used in ordinary non-test situations.
再次感谢~~

在 2011-10-14 15:55:32,"Qiang (James)" <shijialee@gmail.com> 写道: >On 10/14/2011 12:03 PM, kevin_li wrote: >> 有没有模块可以做类似Test::More 中得is_deeply 的两个复杂HASH比较的功能?  >> (is_deeply结果是输出道STDOUT的,我需要返回值来作处理) >> 在CPAN上搜了一下没有发现。。。 >> List::Compare 大概看了一下 貌似不成 >> 希望有高人推荐一个 >> 谢谢啦 :) > >Test::More 的 is_deeply 文档里提到 Test::Deep 和 Test::Differences. 还有 >个 Hash::Diff. 扫了一眼, Test::Deep 里有这样的调用: > $ok = cmp_deeply($got, $expected, $name) > >可能是你想要的。RTFM :) > >Qiang. > >>  >>  >>  >> --  >> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。 >> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >> 要取消订阅此网上论坛,请发送电子邮件至  >> perlchina+unsubscribe@googlegroups.com。 >> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN  >> 访问此网上论坛。 > >--  >您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。 >要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。 >若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re:Re: [PerlChina] Hash 比较模块

非常感谢, 我去瞅瞅,如果可行回来汇报下 :)



在 2011-10-14 15:55:32,"Qiang (James)" <shijialee@gmail.com> 写道: >On 10/14/2011 12:03 PM, kevin_li wrote: >> 有没有模块可以做类似Test::More 中得is_deeply 的两个复杂HASH比较的功能?  >> (is_deeply结果是输出道STDOUT的,我需要返回值来作处理) >> 在CPAN上搜了一下没有发现。。。 >> List::Compare 大概看了一下 貌似不成 >> 希望有高人推荐一个 >> 谢谢啦 :) > >Test::More 的 is_deeply 文档里提到 Test::Deep 和 Test::Differences. 还有 >个 Hash::Diff. 扫了一眼, Test::Deep 里有这样的调用: > $ok = cmp_deeply($got, $expected, $name) > >可能是你想要的。RTFM :) > >Qiang. > >>  >>  >>  >> --  >> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。 >> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >> 要取消订阅此网上论坛,请发送电子邮件至  >> perlchina+unsubscribe@googlegroups.com。 >> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN  >> 访问此网上论坛。 > >--  >您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。 >要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。 >若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] perlchina@googlegroups.com 的摘要 - “1 个主题”有 2 个帖子

上海后台开发工程师招聘,网络程序开发经验,精通perl,20K以内,有意向联系
seven.hr@foxmail.com

在 2011年10月14日 下午4:12, <perlchina@googlegroups.com>写道:

网上论坛: http://groups.google.com/group/perlchina/topics

    kevin_li <xiaohuidexinge@163.com> Oct 14 12:03PM +0800 ^
     
    有没有模块可以做类似Test::More 中得is_deeply 的两个复杂HASH比较的功能?(is_deeply结果是输出道STDOUT的,我需要返回值来作处理)
    在CPAN上搜了一下没有发现。。。
    List::Compare 大概看了一下 貌似不成
    希望有高人推荐一个
    谢谢啦 :)

     

    "Qiang (James)" <shijialee@gmail.com> Oct 14 03:55PM +0800 ^
     
    On 10/14/2011 12:03 PM, kevin_li wrote:
    > List::Compare 大概看了一下 貌似不成
    > 希望有高人推荐一个
    > 谢谢啦 :)
     
    Test::More 的 is_deeply 文档里提到 Test::Deep 和 Test::Differences. 还有
    个 Hash::Diff. 扫了一眼, Test::Deep 里有这样的调用:
    $ok = cmp_deeply($got, $expected, $name)
     
    可能是你想要的。RTFM :)
     
    Qiang.
     

     

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] Hash 比较模块

On 10/14/2011 12:03 PM, kevin_li wrote:
> 有没有模块可以做类似Test::More 中得is_deeply 的两个复杂HASH比较的功能?
> (is_deeply结果是输出道STDOUT的,我需要返回值来作处理)
> 在CPAN上搜了一下没有发现。。。
> List::Compare 大概看了一下 貌似不成
> 希望有高人推荐一个
> 谢谢啦 :)

Test::More 的 is_deeply 文档里提到 Test::Deep 和 Test::Differences. 还有
个 Hash::Diff. 扫了一眼, Test::Deep 里有这样的调用:
$ok = cmp_deeply($got, $expected, $name)

可能是你想要的。RTFM :)

Qiang.

>
>
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN
> 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年10月13日星期四

[PerlChina] Hash 比较模块

有没有模块可以做类似Test::More 中得is_deeply 的两个复杂HASH比较的功能?(is_deeply结果是输出道STDOUT的,我需要返回值来作处理)
在CPAN上搜了一下没有发现。。。
List::Compare 大概看了一下 貌似不成
希望有高人推荐一个
谢谢啦 :)



--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年10月10日星期一

Re: [PerlChina] autosplit.ix求助

1.
http://www.unix.com/shell-programming-scripting/150940-perl-variables-inside-net-telnet-cisco-module-doesnt-work.html
http://kobesearch.cpan.org/htdocs/Net-Telnet-Cisco/INSTALL.html

2.
perl your_script.pl > debug.log

?

2011/10/11 Yu Gao <angelaxyu@hotmail.com>:
> 大家好,最近想做一个小工具结果遇到以下几个问题
> 1.Can't locate auto/Net/Telnet/Cisco/autosplit.ix in @INC (@INC contains:
> C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/AutoLoader.pm line 173. at
> C:/Perl/lib/Net/Telnet/Cisco.pm line 18
> 2.如何将返回结果以txt文本模式保存。
> 代码如下:
> #!/usr/bin/perl
> use Net::Telnet::Cisco;
> my $session = Net::Telnet::Cisco->new(Host => '192.168.0.101');
> $session->login('','loginpassword');
> #Execute a command
> my @output = $session->cmd('terminal length 0');
> #print @output;
> #Enable mode
> if ($session->enable('enpassword'))
> {
> @output = $session->cmd('show ip int brief');
> print "#### Ip int brief: \n @output\n";
> @output = $session->cmd('show logging');
> print "#### show logging: \n @output\n";
> }
> else
> {
> warn "Can't enable: " . $session->errmsg;
> }
> $session->close;
> 现在所有的结果都返回在屏幕上,我想保存出来。
> 另外,有多台设备如何循环呀。
> 第一次写程序。
> 谢谢
>
> _______________________________________________
> China-pm mailing list
> China-pm@pm.org
> http://mail.pm.org/mailman/listinfo/china-pm
>

--
lobatt
_______________________________________________
China-pm mailing list
China-pm@pm.org
http://mail.pm.org/mailman/listinfo/china-pm

[PerlChina] autosplit.ix求助

大家好,最近想做一个小工具结果遇到以下几个问题
1.Can't locate auto/Net/Telnet/Cisco/autosplit.ix in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at C:/Perl/lib/AutoLoader.pm line 173. at C:/Perl/lib/Net/Telnet/Cisco.pm line 18
2.如何将返回结果以txt文本模式保存。
代码如下:
#!/usr/bin/perl
use Net::Telnet::Cisco;
my $session = Net::Telnet::Cisco->new(Host => '192.168.0.101');
$session->login('','loginpassword');
#Execute a command
my @output = $session->cmd('terminal length 0');
#print @output;
#Enable mode
if ($session->enable('enpassword'))
{
@output = $session->cmd('show ip int brief');
print "#### Ip int brief: \n @output\n";
@output = $session->cmd('show logging');
print "#### show logging: \n @output\n";
}
else
{
warn "Can't enable: " . $session->errmsg;
}
$session->close;
现在所有的结果都返回在屏幕上,我想保存出来。
另外,有多台设备如何循环呀。
第一次写程序。
谢谢