Perl“太多错误”错误

时间:2015-10-09 01:58:00

标签: perl runtime-error

这是我第一次使用Perl进行编码,我遇到了运行问题。

尝试运行时,它只是说Too many errors,这对您开始编码时没什么帮助。

这是我的代码:

#!/usr/bin/perl
use Modern::Perl;

print "Gimme Number 1:" ;
my $num1=<>;

print "Gimme Number 2:" ;
my $num2=<>;

print "Gimme Number 3:" ;
my $num3=<>;

my $add=$num1 + $num2 + $num3;
my $muti=$num1 * $num2 * $num3;
my $div=$num1 / $num3;
my $rad=$num3 % $num2;
my $sub=$num2 - $num3;
my $big=$num1 * $num2/$num4;

print "ADD:$add";
print "MUL:$muti";
print "DIV:$div";
print "MOD:$rad";
print "SUB:$sub";
print "EQT:$big";

我做错了什么?感谢。

3 个答案:

答案 0 :(得分:2)

对代码运行编译检查perl -cw filename.pl会产生:

Global symbol "$num4" requires explicit package name at foo line 20.

这表明您应该声明$num4并在顶部添加输入行,或者正如Schwern所说,$num4$num3的拼写错误。

答案 1 :(得分:0)

尝试在cmd perl -c <filename.pl>中检查语法正确性 始终在起点中使用这两行 use strict; use warnings; your perl code goes here。这些将帮助您在检查语法时显示是否存在任何错误或警告。

答案 2 :(得分:0)

我相信您使用了<appender name="ERROR_EMAIL" class="ch.qos.logback.classic.net.SMTPAppender"> <!-- guarantees that only logs of ERROR will be emailed --> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <asynchronousSending>true</asynchronousSending> <includeCallerData>true</includeCallerData> <smtpHost>xyz.company.com</smtpHost> <smtpPort>25</smtpPort> <STARTTLS>false</STARTTLS> <to>me@company.com</to> <from>administrator@company.com</from> <subject>ERROR: %logger{20} - %m</subject> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%date %-5level %logger{35} - %message%n</pattern> </layout> </appender> 而不是$ new3或其他变量。 给出问题的那一行是

$new4

请在更换上述代码后更新代码,以便我们首次尝试成功