• 締切済み

perlのprint文がうまく動きません

perlの勉強を始めました。 perlの本の最初に Hello.plというファイルに print”Hello!”;と記述して perl Hello.plとすると画面にHello!と表示されるとあるのですが、何も表示されません。 ファイルの記述をprint ”Hello!\n";としてやるとHello!と一応表示されるのですがなぜ改行が必要になるのかがよくわかりません。どのように理解すればいいのでしょうか?

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

print”Hello!”; じゃなくて、 print "Hello!"; です。 必ず小文字で、かつprint の後に半角スペースを開けてください。 なお、改行がない場合は、すぐ次にコマンドプロンプトが表示されますが、改行があると一行間が開きます。 Windowsのコマンドプロンプトからと、Cygwinのbashからの画面をあげておきます。 #!/usr/local/bin/perl print "Hello World!";

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

どんな環境(OS:WindowsとかLinuxとか/実行環境:なにかの開発環境なのかコマンドラインなのか、等)での結果でしょうか? perlのprintは、それだけでは改行をしません。 なので、print "Hello!"を実行すると ! の直後にカーソルが来てプログラムが終わります。 その後に表示されるプロンプトが、その行の始めから表示されて、Hello!を上書きすることもあります。 普通 C:¥> とか出るプロンプトがHello!の後に続いて Hello!C:¥> 等と表示される場合もあります。 改行単位で表示するウィンドウだったりすると、次の改行が来るまで「Hello!」は出力待ちになってしまいます。

回答No.1

こんにちは。 なぜか?と聞かれると、上書きされるから・・・。 普通は、 command>コマンド入力待ち の状態で、 command>perl Hello.pl と入力して実行したら、 Hello! と表示するのですが、改行がないため、一瞬で command> に置き換わります。 なので見えないです・・・。

HETERO
質問者

お礼

なるほど!そういうことなのですね。! でも、そうだとすると、入門書にこうやるとHelloと出力されるという記述は初心者 にとってはあまり適切ではない説明だったのですね。 やっとわかりました。