【发布时间】:2021-11-28 21:07:51
【问题描述】:
这是我目前拥有的代码。在 Perl v5.8.9 上运行。
#!/usr/bin/perl
# Prompts the user for their desired configuration
print "\n";
print "Please type BB for breadboard, or ACU for the Audio Control Unit.\n";
print "Do you want a BB or ACU version of alarm programmer: ";
$a = <STDIN>;
if($a == "ACU"){
print("Initiating alarm programmer for ACU...\n");
}else{
print("Initiating alarm programmer for breadboard...\n");
}
这是一些示例输出:
C:\Users\U157280\Documents\Alarm Programmer>PerlAutonomy.pl
Please type BB for breadboard, or ACU for the Audio Control Unit.
Do you want a BB or ACU version of alarm programmer: ACU
Initiating alarm programmer for ACU...
还有一个:
C:\Users\U157280\Documents\Alarm Programmer>PerlAutonomy.pl
Please type BB for breadboard, or ACU for the Audio Control Unit.
Do you want a BB or ACU version of alarm programmer: BB
Initiating alarm programmer for ACU...
如您所见,即使语句看起来是正确的,它也会为两者选择 ACU。
我做错了什么?
【问题讨论】:
-
任何帮助将不胜感激!
-
注意:您的 perl 版本相当旧(2007),第一时间更新到最新版本(5.34.0),Perl version history
-
如果您对学习Perl 感兴趣,那么您将欣赏以下在线免费书籍Modern Perl。广泛的documentation 随时为您服务。
-
在 Perl 中,不要将
$a和$b用于程序中的变量,因为它们是传递给sort的比较例程使用的特殊变量,而通常的strict规则不会适用于他们。