【发布时间】:2017-02-14 17:05:53
【问题描述】:
我正在尝试使用 IntelliJ Idea 处理 perl script。我为 IDEA 安装了perl plugin,为 Windows (10) 安装了Strawberry Perl。
语法高亮和其他功能有效,但是当我尝试运行程序时会发生这种情况:
我是 perl 的初学者,所以我仍然只是使用命令行的东西和 ASCII 图形。我希望在 IntelliJ 中简单地运行、测试和调试我的 perl 程序,但是当 perl 运行时,print 语句没有在此对话框中添加任何内容...
我仍然可以在上图中光标所在的位置键入内容,并且键入错误的内容可能会引发应有的错误。所以<STDIN> 似乎被正确映射,但<STDOUT> 不是?还是有其他问题?
如果我将显示它正在运行的命令复制到 cmd,它会完美运行:
那么有没有办法配置 intellij 在此对话框中获取 <STDOUT>?任何帮助将不胜感激。
现在,按照 Chankey 的回答,我制作了一个测试脚本,并且该脚本有效:
也许问题是我从外部源导入了 perl 文件,而 IntelliJ 没有意识到它是一个脚本,或者类似的东西?但是如果我将代码复制到新文件中,它也不起作用......
test.pl 有一个区别:use warnings FATAL => 'all'; 而不是 use warnings;。当我尝试这个时,它会一直工作,直到我输入一个需要数字输入的字符串,然后在退出程序时打印一大堆本来应该打印的内容:
再次,输出在 cmd 中工作正常,所以我认为这是 IntelliJ 的问题。有任何想法吗?也许@ 符号正在制造问题?还有什么?如果有人在 Windows 上使用 IDEA 并想玩弄我的代码,请访问 github。
【问题讨论】:
-
print "stuff"确实会进入 STDOUT,对吧? -
打印的一般语法是
print FILEHANDLE LIST。如果 FILEHANDLE 被省略,那么它会打印到最后选择的(参见 select)输出句柄。因此,除非您使用select更改了 FILEHANDLE,否则它将打印为默认的 FILEHANDLE,即 STDOUT。
标签: perl intellij-idea strawberry-perl