You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Perl新手求助:出现Can't modify print in scalar assignment编译错误

搞定你的Perl脚本编译错误啦!

嘿,刚看到你的问题,这个错误其实很容易解决~你遇到的Can't modify print in scalar assignment编译错误,问题出在代码的第12行:

print = "The diameter is " . $diameter . "";

错误原因

print是Perl的内置输出函数,不是可以赋值的变量,你这里错误地用了赋值运算符=,这就违反了Perl的语法规则,导致编译器报错。

修正后的完整代码

#!/usr/bin/perl
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use strict;
use diagnostics;
my $radius = 5;
my $diameter = $radius * 2;
# 去掉多余的=,直接用print输出字符串,还可以加换行符让输出更整洁
print "The diameter is " . $diameter . "\n";

另外,Perl支持字符串插值,你还可以把最后一行写得更简洁:

print "The diameter is $diameter\n";

对了,你开启use strict和use diagnostics的习惯特别好,这两个pragma能帮你快速揪出很多语法和逻辑问题,继续保持哦!

内容的提问来源于stack exchange,提问作者Perlstudent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:16:06