Perl CORE::say 与 -E

2023-11-22

In 这个答案使用 Perl 单行代码作为:

perl -we '... CORE::say "x=$x"'

使用有什么好处-e and CORE::say而不是较短的:-E和朴素的say, e.g.:

perl -wE '... say "x=$x"'

专题.pm引入是为了允许将向后不兼容的功能添加到 Perl 中。-E启用所有向后不兼容的功能,这意味着程序使用-E如果升级可能会损坏perl.

perl               -E'... say "foo";       ...'   # Forward-incompatible (5.10+)
perl -Mfeature=say -e'... say "foo";       ...'   # ok (5.10+)
perl -Mv5.10       -e'... say "foo";       ...'   # ok (5.10+)
perl -M5.010       -e'... say "foo";       ...'   # ok (5.10+)
perl               -e'... CORE::say "foo"; ...'   # ok (5.16+)

例如,假设您在 2010 年编写了以下程序:

perl -E'sub fc { my $acc=1; $acc*=$_ for 2..$_[0]; $acc } say fc(5);'

使用 2010 年最新的 Perl (5.12),程序输出以下内容:

120

使用 2016 年最新的 Perl (5.24),程序输出以下内容:

5

差异是由于 5.16 中添加了一项功能,该功能在启用时会更改该程序的含义。如果人们避免使用-E,程序的行为不会改变。具体来说,输出如下120在 5.24 中:

perl -e'sub fc { my $acc=1; $acc*=$_ for 2..$_[0]; $acc } CORE::say fc(5);'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl CORE::say 与 -E 的相关文章

随机推荐

  • 简化泛型类型推断

    我正在编写一个通用代码 应该处理从多个源加载数据的情况 我有一个具有以下签名的方法 public static TResult LoadFromAnySource
  • 如何更改Azure虚拟机中的时区?

    如何在运行 Windows 服务器的 Azure 虚拟机中将时区从 UTC 更改为阿拉伯标准时间 恐怕您实际上无法更改时区 即使您更改过一次 时区在重新启动后也会恢复为 UTC 此外 不建议更改 Azure IaaS VM 的时区 虽然更改
  • 选择/更新时死锁

    我在 SQL Server 2008 上的 SELECT UPDATE 上遇到死锁问题 我从这个帖子中读到了答案 SQL Server 在选择 更新或多选择之间死锁但我仍然不明白为什么我会陷入僵局 我在下面的测试用例中重新创建了这种情况 我
  • Java 桌面应用程序:SWT 与 Swing [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我现在是一名网络开发人员 正在考虑构建我的第一个真正的桌面应用程序 我们的想法是构建一个工具 在没有可用 API 的 Web 应用程序中自动执行非常重复的任务 我知道我想使用 Java 我
  • Angular 6 获取带有 httpclient 问题的响应标头

    我正在使用下面的代码尝试从响应标头中提取值 ReturnStatus Keep Alive timeout 5 max 100 ReturnStatus OK SO304545 Server Apache 2 4 29 Win32 Open
  • 如何链接两个 nasm 源文件

    我有一个定义非常基本的 IO 函数的文件 我想创建另一个使用该文件的文件 有没有办法将这两个文件链接起来 打印 asm os return some code to return to os print AnInt some code to
  • MySQL 选择等于今天的日期(以日期时间作为数据类型)

    我正在尝试运行一个 mysql select 语句 它查看今天的日期并仅返回当天注册的结果 我目前已尝试以下方法 但似乎不起作用 SELECT users id DATE FORMAT users signup date Y m d FRO
  • Volley NetworkImage查看清除缓存图像

    有谁知道是否可以使用 Google Volley 库从单个 NetworkImageView 中清除缓存的图像 我在 NetworkImageView 中有一个头像图像 并且希望在将其上传到服务器后显示新图像 此刻如果我这样做profile
  • 找到解决方案中缺少的await

    我的服务器代码中有很多异步方法 但我怀疑我的调用者没有等待 有没有一种简单的方法可以扫描代码以查找缺少等待的调用 public async Task DomeSomethingAsync var result await GetResult
  • c# DbSet - 无法获取内部对象

    我需要将实体切换到内部 所以我创造了它 没有构建 运行时错误 但是当我想使用 DbSet 对象时我不能 因为该对象似乎没有初始化 我的上下文实体 public partial class Entities internal DbSet
  • R:基于多个条件合并(具有非相等标准)

    我想根据多个条件合并 2 个数据框 DF1 lt data frame col1 rep c A B 18 col2 rep c C D E 12 value sample 1 100 36 col4 rep NA 36 DF2 lt da
  • 按第二个值对二维数组进行排序

    我有一个数组 我想按数字字段而不是名称排序 var showIt nuCycleDate 19561100 ndCycleDate 19460700 neCycleDate 0 nlCycleDate 0 Thanks 您可以提供sort具
  • std::assignable_from 可能实现背后的基本原理

    我有几个问题std assignable from行为 偏好设置建议对其进行以下实施 template lt class LHS class RHS gt concept assignable from std is lvalue refe
  • Selenium Firefox webdriver,使用Python,在div中滚动

    我已经使用 python 一段时间了 我想保存需要事先登录的特定网页 由于这个网站使用 javascript 我决定使用 selenium for python 和 firefox webdrive 我能够登录 但该网站要求我先接受 EUL
  • 从 ASP.NET 页面代码隐藏中响应 404 错误

    我有一个场景提供文件服务来自代码隐藏 哪个文件 取决于请求 在某些情况下 没有文件可供服务 我想向浏览器返回 404 我怎样才能从代码隐藏中做到这一点 这是向用户显示没有可用文件的正确操作过程吗 你可以使用响应 状态代码返回 404 的属性
  • 在 iframe 中填写其他网站上的输入文本表单

    我想自动填充另一个网站上的文本框 所以我正在编写一个简短的脚本来执行此操作 我正在加载一个包含网站的 iframe 如果加载此 iframe 它应该填写输入文本表单 所以我写了这个autofill php 这是我写的fill js docu
  • vuetify 中的 v-tabs 未采用 100% 高度

    The v tabs组件不占据 100 高度 经过检查 我可以看到所有选项卡项目 即选项卡内容 都被包装在 div class v tab items your content div 如何瞄准v tab items班级 或者还有其他方法可
  • 为什么在 angularjs 2 中布尔值更改时 ngOnchanges 不触发

    我在这个问题上看到过类似的问题 但没有一个答案对我有用 我有一个布尔值 每当异步任务完成时它就会改变 但奇怪的是 ngonchages 不会在它改变时触发 下面是我的代码 import Component OnChanges SimpleC
  • JSF panelgrid 对齐到顶部

    我看到有人为此发布了一些答案 尝试了几乎所有的几种排列组合 但似乎没有任何效果 panelgris 内的组件始终居中对齐 而不是顶部对齐 尝试了他们在下面的帖子中所说的一切 如何控制PanelGrid内DataTable的对齐方式 请告诉我
  • Perl CORE::say 与 -E

    In 这个答案使用 Perl 单行代码作为 perl we CORE say x x 使用有什么好处 e and CORE say而不是较短的 E和朴素的say e g perl wE say x x 专题 pm引入是为了允许将向后不兼容的