2011-02-16 59 views
0

我有一个简单的方法轨荣获“同一文件夹t执行一个Perl脚本控制器

def execperl 
    system("perl myscript.pl") 
    redirect_to :controller => :mycontroller, :action => :index 
    end 

当我把这个myController的(包含指数和execperl)在同一文件夹中的MyScript。 pl。

但是,当我执行该方法时,它只是返回到索引,并且当我看到控制台时,没有执行myscript.pl的签名 如果我使用perl myscript.pl手动执行myscript.pl ,它工作得很好

我该如何执行mysc ript.pl与mycontroller文件位于同一位置?

谢谢你的回答。

|编辑 我在日志中看到,它写着“无法打开perl脚本myscript.pl”没有这样的文件或目录。

我是否必须在系统中指定脚本的位置(“perl myscript.pl”)?我怎样才能做到这一点? 。

回答

0

尝试这样做:

system("/usr/bin/perl #{Rails.root}/app/controllers/myscript.pl") 
+0

我写系统(“perl的C: \ user \ me \ myscript.pl“)不起作用,因此显示无法打开perlscript的错误C:\”没有这样的文件或目录 – rahardi 2011-02-16 12:17:05

0

您当前的工作目录是不是该目录的脚本是在你的脚本的路径是这样的:

File.join(File.dirname(__FILE__), "myscript.pl") 
相关问题