perl - 当我运行以“#!/usr/bin/perl -w”开头的文件时,出现错误:“第 153 行的语法错误,靠近“=~?””
问题描述
当我运行以 开头的文件时#!/usr/bin/perl -w
,出现错误:
第 153 行的语法错误,靠近 "=~ ?"
我尝试添加“#!/bin/bash”,这个错误不是附加的,但我得到了另一个
错误:“第 34 行:意外标记 `(' 附近的语法错误”
我的文件中的第 153 行:
($output_volume =~ ?^([\S]+).mnc?) && ($base_name = $1) ||
die "sharpen_volume failed: output volume does not appear to be"
." a minc volume.\n";
我文件中的第 34 行:使用 MNI::Startup qw(nocputimes);
解决方案
$output_volume =~ ?^([\S]+).mnc?
这曾经是有效的 perl,因此可能出现在旧代码和教学材料中。
来自perlop:
过去,m?PATTERN?中的前导m?是可选的,但省略它会产生弃用警告。从 v5.22.0 开始,省略它会产生语法错误。如果您在较旧的代码中遇到此构造,则只需添加 m。
推荐阅读
- java - 舍入一个双精度值
- typescript - 如何让 VSCode/Typescript 对导入的类进行自动完成?
- reactjs - 按下键onKeyDown Reactjs时删除输入中的内容
- elasticsearch - Elasticsearch 部分查询
- html - 在不影响填充的情况下增加输入字体大小
- python - python代码中的自调用函数错误
- curl - 需要将 Stripe cURL api 调用转换为 axios
- javascript - 在codeigniter中从ajax解析数组多维到控制器?
- android - 适用于 Android API 16 的 Glide 和 OkHttp 无法正常工作
- docker - 无法使用 docker 启动 kurento 媒体服务器