【发布时间】:2011-03-08 13:32:47
【问题描述】:
我正在编写一个模仿 gcc 的 perl 脚本。这是我的脚本需要处理来自 gcc 的一些标准输出。处理部分已经完成,但我无法让简单的部分工作:如何将所有命令行参数按原样转发到下一个进程(在我的情况下为 gcc)。发送到 gcc 的命令行往往很长,并且可能包含大量转义序列,我现在不想玩转义的游戏,而且我知道在复杂情况下在 Windows 上正确使用它很棘手。
基本上,
gcc.pl 一些 crazies\ t\\ "command line\"" 并且 gcc.pl 必须将相同的命令行转发到真正的 gcc.exe(我使用 windows)。
我这样做:open("gcc.exe $cmdline 2>&1 |") 以便将来自 gcc 的 stderr 馈送到 stdout,我的 perl 脚本处理 stdout。问题是我在任何地方都找不到如何构造$cmdline。
【问题讨论】:
标签: perl command-line command-line-arguments