perl中的用户输入 - 在KomodoEdit中运行脚本的问题

时间:2010-04-23 06:02:23

标签: perl komodo

我在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?


将#/ usr / bin / perl更改为#!/ usr / bin / perl后输出

:还必须声明我的$ radius和我的$周长--------------- -------------------------------------------

12 # same i had to enter 12
Enter the radius of circle: 
radius is: 12
Circumference of circle with radius : 12 = 75.398223696

2 个答案:

答案 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;