Try this version:
for($i=1;$i<=100;$i++){
if ($i%15==0) { print "Divisible by 15" }
elsif($i%5==0) { print "Divisible by 5" }
else { print +($i%3==0)? "Divisible by 3":$i; }
print "
";
}
You need to add braces around the then-part of if statements and use elsif
instead of else if
.
Without the +
in the print
statement, perl parses the statement as:
print(...) ? "Divisible by 3" : $i;
ie. it will use the value returned by print
as the first argument to the ternary operator. Another solution is to write:
else { print( $i % 3 == 0 ? "..." : $i ) }
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…