首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >perl中的用户输入-在KomodoEdit中运行脚本的问题

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

Stack Overflow用户
提问于 2010-04-23 06:02:22
回答 2查看 1.3K关注 0票数 0

我在gedit上写了这个小代码,然后运行它:-

代码语言:javascript
复制
#/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";

使用命令line.Ran很好地运行同样的代码:面对一个问题,我希望第一行输出为:-输入圆圈半径:在屏幕上等待输入,然后依次运行--有人能告诉我为什么命令行运行得很好,而Komodo却不行?

将#/usr/bin/perl更改为#!/usr/bin/perl后的输出:-还必须声明我的和$radius $circumference

代码语言:javascript
复制
12 # same i had to enter 12
Enter the radius of circle: 
radius is: 12
Circumference of circle with radius : 12 = 75.398223696
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-06 01:41:13

虽然“严格使用”和拼写正确的“谢邦”行都是好东西,但实际原因也不是。在非命令行环境中运行交互式程序时,通常应该关闭I/O缓冲区。在Perl中,您应该将这一行放在代码的顶部:

代码语言:javascript
复制
$| = 1;
票数 0
EN

Stack Overflow用户

发布于 2010-04-23 08:15:39

我已经测试了您的脚本使用Komodo编辑,它工作良好,其他,然后以下几处更正。

代码语言:javascript
复制
#!/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";

科莫多的产出

代码语言:javascript
复制
Enter the radius of circle: 
5
radius is: 5
Circumference of circle with radius : 5 = 31.41592654
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2696534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档