0

入力された各文字列がメイン文字列に追加される連結 do-while ループを作成しています$food。コードは次のとおりです。

do {
  print("\nEnter your order(-1 to end): ");
  $order = <>;
  chop($order);

  if ($order != -1) {
   $food .= " ".$order;
   print($food);
  }  
} while ( $order != -1)

print ($food); #PROBLEM HERE!

print ($food) 問題は、ループの外に置くたびに、この行の構文エラーとExecution of file.pl aborted due to compilation errorsメッセージが表示されることです。

ループ内に入るとコードは機能print ($food)しますが、このエラーが発生する理由に興味があります。

4

2 に答える 2

3

最後の印刷前の行に構文エラーがあります-で終わらない;。追加するだけで動作するはずです。

于 2012-11-11T09:55:28.493 に答える
0

構文エラーに加えて言及する価値のあること: 文字列を改行で開始していることがわかります。これは問題ありませんが、改行を印刷すると STDOUT バッファーがすぐにフラッシュされるため、印刷する前に文字列を改行で終了することが「より良い」と見なされる場合があります。ほとんどの場合、出力の遅延やテキストのちらつき (特に大量に印刷する場合) を防ぐため、これは望ましい動作です。

于 2012-11-11T10:07:19.333 に答える