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
相关产品推荐
相关产品推荐

