0
system("logscr.ply ");

我得到的错误是这样的:

Can't exec "logscr.ply": Permission denied at eal.ply line 3

为什么我会收到错误,我该如何解决?

4

2 回答 2

3

在不了解更多细节的情况下,可能有多种原因:

  • 您的示例代码表明您正在尝试执行“logscr.ply”。末尾的空格字符可能会被解析为文件名的一部分。不过,这应该会产生一个未找到文件的错误。
  • 被调用脚本的保护位可能不允许直接执行。chmod u+x logscr.ply从您的命令提示符尝试。
  • 您可能无法访问包含 logscr.ply 的文件夹。确保您对它具有读取和执行权限(尝试chmod u+r,u+x folder-name)。
  • 被调用的脚本可能无法将自己识别为 Perl 脚本,请尝试system("perl logscr.ply");.
  • 在你的 $PATH 的前面某个地方可能有一个同名的文件。在你的调用中使用绝对路径来防止这种情况(system("perl /some/path/logscr.ply");),不要依赖你的 $PATH 变量。
于 2010-10-04T13:25:31.943 回答
0

这是什么平台/操作系统?

可能logscr.ply只是没有设置执行权限。例如,在 Linux/Unix 上,您应该这样做

chmod u+x logscr.ply

然后再试一次。

注意:这假设您是logscr.ply. 如果不是,请相应调整。

于 2010-10-04T11:38:46.630 回答