如何用perl做远程调用

如何用perl做远程调用

如何用perl做远程调用
[color=#0000FF][size=3]我用perl编写一个cgi程序,需要在程序中通过执行一个http调用,执行远程服务器的一个shell脚本,用perl如何实现这个“执行一个http调用”,代码怎么写呢?谢谢!![/size][/color]




   

看样子没有什么高水平的人.
看样子没有什么高水平的人,或许是用perl的人太少,抑或perl太古老了!
楼主发问之前从未看过 [ur.
楼主发问之前从未看过 [url=http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=669]提问的艺术[/url] 吗?
自己问的问题不清不楚的,"执行一个 HTTP 调用" ,"调用远程服务器的一个 Shell 脚本"
请问这个 "Shell 脚本"在你那个"远程服务器"上是作为什么跑的?
作为 CGI ?亦或只是跑在 console 下的一个普通脚本?
前者自己写 Socket 或者用现成的 LWP 模块都可以完成;
后者如果服务器有 Telnet 或 SSH 服务,可以用 Net::Telnet 模块或者 Net::SSH 模块来完成
更或者你本地系统有 ssh 的命令行客户端,可以直接在 perl 脚本里调用该命令,把你要执行的 shell 脚本作为命令参数丢进去即可.

如上,虽然是楼主在发问,不过却让回答问题的人问了更多...
下次记得把自己的问题描述清楚再提问,更注意留点口德
毕竟大家都是志愿回答朋友的问题,对任何人都没有义务
斑竹大人息怒!问题来的急.
斑竹大人息怒!先向斑竹及诸位看贴之高人道歉!!问题来的急,加之新手一个,多有不是,请多包含。
先回答斑竹的问题:实在太急,第一次来这里就急忙提问,没时间看提问的艺术再来提问,犹如地震发生时我没去翻自救手册。实在太急。
问题或许提的不够周全仔细,但我也认为不可能把问题的每个细节都说到,我自认为说全的时候,别人或许还是认为不够详尽。我想尽可能简单的说明我的问题而忽略一些细枝末节,或许可以得到更多的更广的解决问题的思路。但似乎我错了。

另外,我那么说也算是激将法吧,也算一种策略,如果斑竹大人认为那是不留口德,在下实难苟同!我并没有说一个脏字,更没有谩骂和攻击,只算一种策略以及或多或少的失望。我承认不该在这里使用这样的说法,至少忘记您是高手了!还有,我[size=5][b]并没有[/b][/size]认为回答问题是义务,我完全是以一种希望获得帮助的心态来这里的。当无法得到帮助时,我想表示一下遗憾或是感慨应该也是可以理解的吧。还是那句话,我知道我的话不对(前已致歉),不过那样说应该也在可以承受的心理范围之内吧? 何必在意在下这么一个菜鸟说的话呢?庆幸的是,尽管对待如此无知菜鸟,斑竹的负责让我学到很多!

蒙斑竹指点,刚才在下看了“提问的艺术”,里面的一段给人印象深刻:
.......
-话不在多
你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。

这样做的用处至少有三点。第一,表现出你为简化问题付出了努力,这可以使你得 到回答的机会增加;第二,简化问题使你得到有用答案的机会增加;第三,在提炼 你的bug报告的过程中,也许你自己就能找出问题所在或作出更正。
.......
看过之后觉得自己的确差的很远,离“艺术”很远。

最后由衷感谢斑竹对问题的解答。谢谢!




   

1> system--2> ``.
1> system
2> ``
3> exec
都可以完成你的要求
看你自己的需求

谢谢fkiori !--我的cgi.
谢谢fkiori !
我的cgi在一台服务器上,而shell教脚本在另一台服务器上,这个shell脚本就是一个普通的脚本(.sh文件),只做一件事,就是执行make命令,编译当前目录下的c程序。这个cgi一执行,就调用.sh脚本来编译这个脚本所在服务器上的所在目录下的c程序。

我想问,system()是否可以执行另外一个机器上的脚本么?应该怎么写这段代码呢?