gpt4 book ai didi

perl - 打印: producing no output

转载 作者:行者123 更新时间:2023-12-04 07:07:29 25 4
gpt4 key购买 nike

我很困惑。我只有一台新的开发机器,而perl对于 print 命令似乎什么也不输出。

#!/usr/bin/perl
use warnings;
use strict;
print "A";
print STDOUT "B";
print STDERR "C";
open FH, ">", "testprint';
print FH "D";
close FH;

在控制台中不产生任何内容, testprint 成为1再见(空)文件。

即使这样也不会产生任何结果:
perl -e "print 'a';"

这两种碰巧都发生在我的机器上的perl二进制文件中。我对从哪里开始调试此问题感到困惑。有任何想法吗?

编辑:
perl -v

This is perl, v5.8.8 built for x86_64-linx-thread-multi


which perl

/usr/bin/perl

最佳答案

我相信问题在Perl之外存在。任何一个

  • 运行脚本
  • 时,终端处于某种异常状态
  • perl的父进程将perl的输出重定向到远离终端(或
  • )的位置
  • perl的父进程未提供perl的STDOUT和STDERR。

  • 您可能可以通过实际检查 print是否返回错误来收集更多信息。 (这总是让我感到困惑,为什么当某些事情不起作用时,人们为什么不检查错误,以他们期望的方式工作。)
    perl -we'print("a") or die("Can'\''t print: $!\n");'

    您可以使用 strace或系统上调用的任何内容来收集更多信息。 (查找 write(1write(2。)
    strace perl -we'print("a") or die("Can'\''t print: $!\n");'

    但是,如果问题出在Perl之外,则这些命令应该什么也不打印,这就是为什么明智的选择尝试将输出重定向到文件,然后检查文件及其大小。
    perl -we'print("a") or die("Can'\''t print: $!\n");' 1>out 2>err

    关于perl - 打印: producing no output,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830610/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com