私は Perl を学んでおり、STDIN の使用を練習するためにこのスクリプトを書きました。スクリプトを実行すると、コンソールに最初の print ステートメントだけが表示されます。改行を含めて何を入力しても、コンソールには次の印刷ステートメントが表示されません。(私は Windows マシンで ActivePerl を使用しています。) 次のようになります。
$perl script.pl 為替レートは?90.45 [カーソルはここにとどまる]
これは私のスクリプトです:
#!/user/bin/perl
use warnings; use strict;
print "What is the exchange rate? ";
my @exchangeRate = <STDIN>;
chomp(@exchangeRate);
print "What is the value you would like to convert? ";
chomp(my @otherCurrency = <STDIN>);
my @result = @otherCurrency / @exchangeRate;
print "The result is @{result}.\n";
私の問題を調査しているときに気付いた1つの潜在的な解決策は、含めることができるということです
IO::Handle を使用します。と
STDIN をフラッシュします。STDOUT をフラッシュします。私のスクリプトで。ただし、これらの行は私の問題を解決しませんでした。
STDIN を正常に動作させるにはどうすればよいですか? これが正常な動作である場合、何が欠けていますか?