我在gedit上写了这个小代码并运行它: -
#/usr/bin/perl
print "Enter the radius of circle: \n";
$radius = <>;
chomp $radius;
print "radius is: $radius\n";
$circumference = (2*3.141592654) * $radius;
print "Circumference of circle with radius : $radius = $circumference\n";
使用命令行运行正常。在Komodo Edit上使用相同的代码:遇到问题我希望第一行输出为: - 输入圆的半径:在屏幕上等待的等待,即等待输入,然后运行一切顺序 - 有人可以告诉我为什么它用命令行运行正常而不是Komodo?
:还必须声明我的$ radius和我的$周长--------------- -------------------------------------------
12 # same i had to enter 12
Enter the radius of circle:
radius is: 12
Circumference of circle with radius : 12 = 75.398223696
答案 0 :(得分:0)
我已经使用Komodo编辑测试了您的脚本,它可以正常工作,然后进行少量更正。
#!/usr/bin/perl -w
use strict;
print "Enter the radius of circle: \n";
my $radius = <>;
chomp $radius;
print "radius is: $radius\n";
my $circumference = (2*3.141592654) * $radius;
print "Circumference of circle with radius : $radius = $circumference\n";
科莫多的输出
Enter the radius of circle:
5
radius is: 5
Circumference of circle with radius : 5 = 31.41592654
答案 1 :(得分:0)
虽然'使用严格'和拼写正确的shebang线总是好事, 实际原因也不是。当您在a中运行交互式程序时 在非命令行环境中,通常应该关闭I / O缓冲。 在Perl中,您应该将此行放在代码的顶部:
$| = 1;