如何在 perl 5.24 中关闭“何时是实验性的...”?

2023-11-27

下面的代码直接从 perldoc.perl.org 上的当前 perlsyn 页面复制。 [我已经根据需要添加了初始化和声明以使其运行(并且它按预期工作),但重点是“when”关键字]

Perl 5.24 抱怨“何时”是实验性的。 很公平,但我不想每次使用关键字时都看到这个。

没有警告 qw(experimental::when) 不起作用 - “未知警告类别...”

我也尝试过“switch”作为类别

是否有其他方法可以抑制此警告(除了一般禁用警告之外)?

use v5.14;
for ($var) {
    $abc = 1 when /^abc/;
    $def = 1 when /^def/;
    $xyz = 1 when /^xyz/;
    default { $nothing = 1 }
}

您可以通过以下方式启用此构造而不发出警告

use experimental 'switch';

或者仅仅通过以下方式禁用“实验”警告类别

no warnings 'experimental::smartmatch';

(参见可用警告类别的完整列表perldoc warnings).

但请注意 smartmatch,given, and when结构被认为从根本上被破坏,并且正在被删除/重新设计。当您在其他 Perl 版本上运行代码时,仅消除警告就会破坏您的代码。

相反,请更愿意明确地拼写出此代码:

for ($var) {
    if    (/^abc/) { $abc = 1 }
    elsif (/^def/) { $def = 1 }
    elsif (/^xyz/) { $xyz = 1 }
    else { $nothing = 1 }
}

是的,它更丑陋,但它也适用于所有价值观$var以及所有 Perl5 版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 perl 5.24 中关闭“何时是实验性的...”? 的相关文章

  • Perl OO 方法调用第一个参数值 (->)

    就 Perl OO 而言 到底做了什么 gt do 例如我拨打 main 电话 result a b gt mymethod 在我定义的包中mymethod 我使用以下内容 my class 总的来说 我显然没有向mymethod 那么哪里
  • perl生成字符串来匹配正则表达式

    我尝试找到一种方法来生成与正则表达式匹配的字符串 例如以下正则表达式 A Z 6 6 A Z2 9 A NP Z0 9 A Z0 9 3 3 0 1 我尝试过 Cpan 上的一些 perl 模块不起作用 gt 字符串 随机 gt 正则表达式
  • 如何从 Perl 调用 gnuplot 脚本

    我有一个 gnu gp 文件 grphist conf set terminal canvas Terminal type set to canvas Options are solid butt size 600 400 fsize 10
  • Perl Mongo 查找对象 ID

    你会认为这是一件简单的事情 我有一个集合中的对象 ID 列表 我想根据对象 ID 获取单个记录 谷歌搜索过 但没有任何帮助 所以我有对象 ID 5106c7703abc120a04070b34 my client MongoDB Mongo
  • 如何使用 Perl 从 NCBI 获取 FASTA 核苷酸格式的基因特征?

    我可以手动下载 FASTA 文件 如下所示 gt lcl CR543861 1 gene 1 ATGCTTTGGACA gt lcl CR543861 1 gene 2 GTGCGACTAAAA 通过单击 发送到 并选择 基因特征 FAST
  • 如何设置 $!在 Perl 中

    我想在 perl 中编写一些设置 的函数 与内置 perl 函数类似 当我尝试执行此操作时 它抱怨 参数 无法创建管理员用户 在标量分配中不是数字 我试过用谷歌搜索这个 但不幸的是谷歌不会在 所以结果很难得到 if createUser a
  • 使用 Getopt::Long 解析参数的最简洁方法

    我使用 GetOpt 来解析命令行参数 我想添加一个新选项 multi 它应该得到一个如下所示的字符串 key1 abc key2 123 key3 xwz 我不知道用户想要提供多少个自定义密钥 但他可以提供 minimax5键 另外 我想
  • Perl 单元测试只针对模块,而不针对程序吗?

    我在网上找到的文档和我拥有的书 Perl测试 或者说或者建议 Perl 的单元测试通常是在创建模块时完成的 这是真的 有没有办法使用单元测试实际程序Test More和表兄弟姐妹 当然 您可以使用测试脚本测试 更多 http search
  • 找不到 DBI.pm

    我正在尝试启动这个脚本 usr bin perl use DBI my dbh DBI gt connect dbi Oracle host lonlin2 sid TIMFX1AD port 1524 xbsesdbo xbsesdbo1
  • OpenSSL DH 密钥太小错误

    我正在尝试使用简单的 PERL 脚本连接到封闭的服务器 空调 usr bin perl use 5 10 1 use warnings use strict use IO Socket SSL use IO Socket SSL qw de
  • 如何轻松地将 Ajax、perl 和 JSON 结合使用?

    我正在尝试使用 Ajax 制作一个网页 Example 我创建了一个 Perl CGU 文件来触发一个简单的帖子 文件 test cgi name 托马斯 回复短信 你的名字是托马斯 我创建了一个可以使用该帖子的 html 文件 但随后页面
  • 由于 lpcap,CPAN 安装 Net::Pcap 和 Packet 模块失败

    最近 我尝试通过 cpan 安装 perl 模块 Net Packet 和 Net Pcap 但它抱怨找不到 pcap 库 所以我正在搜索 cpan 在安装模块时是否接受外部 lib include 目录 但到目前为止还没有运气 looki
  • 如何编写 Perl 脚本来使用 curl 处理 URL?

    我有一个非常简单的任务 我有一个 crontab 每小时运行一个脚本 该脚本旨在简单地处理 URL 这就是我所拥有的 这不起作用 我收到语法错误 usr bin perl curl http domain com page html 我已经
  • 如何对 Data::Dumper 的输出进行排序?

    我想转储对象和散列的值 但它总是乱序打印键 如何按 递归 排序顺序转储键 use Data Dumper print Dumper obj Set Data Dumper Sortkeys 1获取 Perl 的默认排序顺序 如果要自定义顺序
  • 在 Perl 中使用数据引用的正确方法

    我有一组想要处理的数据 为了简化我的代码 最好通过指向原始数据的引用数组来访问我的数据的某些子集 比解释更好的是 我写下了这个例子 它还没有工作 最后 我想更新原始数据 而不必更新所有子集 用 Perl 可以做这样的事情吗 usr bin
  • Perl:HTTP::微小删除留下损坏的锚标记

    我编写了一个脚本 该脚本收集从数据库读取的缓冲区内的所有 URL 检查该页面是否仍然存在 并使用 HTTP Tiny 从缓冲区中删除 URL 如果该 URL 无法访问或返回无效 问题是 HTTP Tiny 删除左锚标记 例如此处无效的文本
  • Perl 语言的目标是在运行时生成快速的程序吗?

    最近有朋友告诉我 看 Perl 从来就不是为了快而设计的 真的吗 我能找到的相关信息是来自维基百科 http en wikipedia org wiki Perl Overview 该语言旨在实用 易于使用 高效 完整 而不是美观 微小 优
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • 客户端浏览器关闭时服务器端 Perl CGI 脚本中断

    我已经尝试解决一个小问题很长一段时间了 但似乎我无法解决 我编写了一个 HTML 页面 它在提交表单时调用 perl CGI 脚本 该 CGI 在服务器端执行一定数量的任务 我让脚本将这些任务的步骤打印到 HTML 页面上的 iframe
  • 折叠具有多个字段的行

    我有这个代码 awk seen 1 2 a 1 a 1 a 1 t 2 END for i in a print i a i inputfile 我想折叠具有两个以上字段的行 但始终基于第一个字段作为索引 输入文件 三列制表符分隔 prot

随机推荐

  • 如何在 Cython 中将 C 指针和长度包装在新型缓冲区对象中?

    我正在 Cython 中编写 Python 2 7 扩展模块 如何创建一个实现新型缓冲区接口的 Python 对象 该对象包装由 C 库提供给我的一块内存 内存块只是一串字节 而不是结构或多维数组 我得到了一个const void 指针和长
  • 我可以使用 bootstrap 来设计 HTML 电子邮件模板吗

    我需要设计一个HTML 电子邮件模板通过电子邮件发送给我的客户 我知道对于设计一个 html 电子邮件模板 不应有 css 文件linked 所有样式都应该内联到 html 中 所有图像应该是引用的通过在线服务器 url 不应存储在本地 我
  • 如何按空格分割字符串但在引号内转义空格(在java中)? [复制]

    这个问题在这里已经有答案了 我有一个像这样的字符串 Video or movie parent Media or entertainment 1 1 1 0 0 我想用空格分割它 但引号内的空格应该被忽略 所以分割后的字符串应该是 Vide
  • 使用 CLLocation 计算两个坐标之间的距离

    我在用着CLLocationDistance获取两点之间的距离 但在传递当前位置时出现错误 CLLocation current CLLocation alloc initWithLatitude startLocation coordin
  • uniswap 程序集 create2 功能如何工作?

    我正在查看 uniswap 代码 试图理解代码 其中大部分内容都非常清楚 但我确实有一些问题 在这个函数中 function createPair address tokenA address tokenB external returns
  • 在值构造函数中指定类约束

    有没有办法为值构造函数的参数定义类约束 像这样的东西 data Point2D Num a gt Point a a 那么 Point 可以接受任何参数 只要它们属于 Num 类 您可以使用ExistentialQuantification
  • 删除列表中元组的第一个元素

    我有一个元组列表 如下所示 values 1 hi you 2 bye bye 然而 每个元组的第一个元素不是必需的 期望的输出是 hi you bye bye 我已经做了足够的研究 知道我无法操作元组 但我似乎无法找到如何成功删除列表中每
  • 我如何“取消设置”已声明的类

    我有一个完整的表单创建系统 有许多不同的问题类型 我必须检查该人所做的答案是否正确 所有类型的问题都有自己的类 始终称为 ItemClass 并且该类位于其自己的文件中 每次提出问题时 我都会包含该文件 但存在问题 我必须在一个 PHP 文
  • 如何在字符串的特定位置添加字符?

    我正在使用 Notepad 想要使用正则表达式替换在字符串中的特定位置插入字符 比如说 在每行的位置 6 处插入一个逗号 表达式会是什么 如果您想在第六个字符之后添加一个字符 只需使用搜索 6 和替换 1 示例插入一个 从技术上讲 这会将每
  • Java 调试器无法调用某些默认方法实现

    我正在 IntelliJ IDEA 中编码 调试我的应用程序时 我无法使用某些默认方法实现Watches 这是一个浓缩示例 public class Friendship interface Friend default void sayH
  • 如何在 iOS 7 上让 NSTimer 在后台保持活动状态?

    我创建了在后台运行 NSTimer 的应用程序 我使用位置管理器在后台运行 NSTimer 我使用下面的链接在后台运行 NSTimer 如何在 iOS 应用程序中每 n 分钟更新一次后台位置 这种方法在 iOS 6 中工作正常 但在 iOS
  • Activity崩溃生命周期方法-android

    我正在开发一个应用程序 在崩溃的情况下 需要保存崩溃时的一些数据 现在 我将数据保存在 onDestroy 中 如下所示 Override protected void onDestroy saveState super onDestroy
  • Windows Phone 7 中的推送通知问题

    我尝试了以下教程来在 Windows Phone 7 中创建推送通知 http www sgtconker com 2010 03 article windows phone 7 push notifications http www si
  • 如何使用 Inkscape 将 SVG 字符串转换为 jpg

    在花了两天时间尝试使用 ImageMagick 从 SVG 字符串光栅化 jpeg 后 我终于放弃了 虽然我设法使实际转换工作正常 但在渲染图像时 Imagemagick 似乎无法正确转换变换 旋转功能 导致输出与原始 SVG 不同 经过进
  • 将字符串转换为日期时间对象

    我想将此字符串转换为日期时间对象 Wed Oct 20 16 35 44 0000 2010 有没有一种简单的方法可以做到这一点 或者我是否必须编写一个 RE 来解析元素 将 Oct 转换为 10 等等 编辑 strptime 很棒 然而
  • 获取和设置屏幕分辨率

    如何使用 Visual C 收集和更改屏幕分辨率 For 检索屏幕分辨率 您将需要使用System Windows Forms Screen班级 这Screen AllScreens属性可用于访问系统上所有显示的集合 或者您可以使用Scre
  • 获取按下的按键的键值

    我不知道如何获取按下的键的值 我目前有 info price bind keydown function evt alert evt keyCode 但当我按 1 而不是返回 1 时 它返回 49 编辑 我知道键 1 的 Ascii 代码
  • 如何在 Xcode 或 iTunes connect 上获取 Testflight 外部测试器的崩溃日志?

    有什么方法可以知道某人的应用程序出了什么问题 除了这个人之外 其他人的设备都可以使用 该人尝试删除以前的版本并安装新版本 但仍然不起作用 我怀疑我放置在文档文件夹中的文件之一可能仍然存在 但此文件的格式已更改 苹果有一个关于这个名字的技术说
  • 当新的 DLL 复制到 BIN 目录时,ASP.net C# 需要重新启动 IIS

    我们遇到一个问题 每次我们将 dll 复制到 bin 目录时 我们网站上的主域就会停止运行 恢复它的唯一方法是重新启动 WWW Publishing Service 我们运行一个网站 其中包含许多在单个服务器上运行的 IIS 应用程序 其中
  • 如何在 perl 5.24 中关闭“何时是实验性的...”?

    下面的代码直接从 perldoc perl org 上的当前 perlsyn 页面复制 我已经根据需要添加了初始化和声明以使其运行 并且它按预期工作 但重点是 when 关键字 Perl 5 24 抱怨 何时 是实验性的 很公平 但我不想每