【问题标题】:How do I get say to work?我怎样才能上班?
【发布时间】:2016-10-08 06:40:47
【问题描述】:

我使用 Intellij 2016.1.1 并在其中安装了 Perl 插件,效果很好。 我想使用 "say" 函数,为此我在脚本开头添加了 use CORE

虽然当我运行脚本(使用 say 函数)时,它给了我以下错误:

在@INC 中找不到CORE.pm(您可能需要安装CORE 模块)(@INC 包含:C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib C: /strawberry/perl/lib .) 在 C:\Users\ngampel\IdeaProjects\itizik\myTestScript.pl 第 4 行。

我尝试在网上查找如何将模块 CORE.pm 添加到 intellij 但找不到。

【问题讨论】:

  • 你从哪里得到 use CORE 的?

标签: perl


【解决方案1】:

你不能那样做。没有您可以加载的 CORE.pm。要获取say,您需要执行以下操作之一。

  • 在程序顶部显式加载say 功能

    use feature 'say';
    
  • 在程序顶部打开 Perl 5.10 或更高版本的所有功能功能

    use v5.10; # or v5.12 or something higher
    

    但只能与您的 Perl 版本一样高。运行perl -v 以查看您拥有的版本。这也可能会打开其他功能。请务必查看the perldoc for feature

  • 直接从CORE::引用say

    CORE::say 'Hello World!';
    

所有这些都将起作用,并在perldoc for say 中进行了解释。我更喜欢第一个选项。


第四个选择是在 IntelliJ 中将 -Mfeature=say 添加到您的 Perl 解释器(或 perl 的路径,或类似的)的参数中。不过,我不知道该怎么做。 但是您的程序将无法在其他计算机上运行,或者如果您在 IDE 之外运行它们。

【讨论】:

  • perl -E 调用不是第四种可能性吗?
  • @mark 一般来说,是的。但是对于我相信从 OP 的 IntelliJ 运行的文件,你不能这样做。所以这里可能不适用。
  • -E 命令行开关相当于use feature ':all',而@simbabque 你正在寻找perl -Mfeature=say -e 'say "hello"',这很好
  • @Borodin 你当然是对的。逗号将用于多个参数。我的错。
猜你喜欢
  • 2020-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-28
  • 2023-03-18
  • 2012-02-27
  • 2013-09-05
  • 1970-01-01
相关资源
最近更新 更多