首页 > 解决方案 > 当我运行以“#!/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);

标签: perl

解决方案


$output_volume =~ ?^([\S]+).mnc?

曾经是有效的 perl,因此可能出现在旧代码和教学材料中。

来自perlop

过去,m?PATTERN?中的前导m?是可选的,但省略它会产生弃用警告。从 v5.22.0 开始,省略它会产生语法错误。如果您在较旧的代码中遇到此构造,则只需添加 m。


推荐阅读