2010-04-23 65 views
0
行書

我寫的gedit這個小小的代碼並運行它: -用戶輸入 - 問題與KomodoEdit

#/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在科莫多編輯同一代碼中使用命令罰款:面臨的一個問題我希望第一行輸出爲: - 輸入圓的半徑:等待屏幕等待輸入,然後按順序運行 - 可以有人告訴我爲什麼它可以通過命令行運行,但不是科莫多?改變#在/ usr/bin中/ perl的以#後


輸出的/ usr/bin中/ perl的: - !也不得不宣佈我的$半徑和我的$圓周----------- -----------------------------------------------

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

首先糾正了第一線,應該是「#在/ usr/bin中/ perl的!」正如你所說轉換後 – Space 2010-04-23 06:24:11

+0

輸出: - 還必須申報我的$ radius和我的$周長 -------------------------------------- -------------------- 12#同我不得不進入12 輸入圓的半徑: 半徑:半徑圈12 圍:12 = 75.398223696 – rgolwalkar 2010-04-23 06:39:16

+0

這是正確的,你是什麼錯誤fac與科莫多編輯。 – Space 2010-04-23 06:55:24

回答

0

雖然「使用嚴格」和正確拼寫的shebang行總是好東西, 也不是真正的原因。當您在非命令行環境中運行交互式程序時,通常應關閉I/O緩衝。 在Perl,你應該把這個線在你的代碼的頂部:

$| = 1; 
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 
+0

@以太 - 是的,我是新來的perl,我會記住你的建議,謝謝 @Octopus - 感謝您檢查它 非常感謝 - 這種幫助給初學者的信心,有人可以幫助:) – rgolwalkar 2010-04-24 06:24:08

+0

它很有趣,但它在科莫多不起作用 - 它通過命令行工作正常 - 它僅僅因爲某種原因等待輸入 - 可能是關於科莫多的一些設置。 :) – rgolwalkar 2010-04-26 22:40:43