プロが教えるわが家の防犯対策術!

ウインドウズ環境でファイルロックを使ってもエラーを出さないようにするには
eval{flock(READ,2);};
を使うと思うのですが
ある書籍に
eval{flock(READ,2)};
とブロック内の「;」が抜けて表記されているものがありました。
ただの誤植かなともおもったのですが付属のCD-ROMにもそうなっていましたし、その本のなかでは一貫して前述した通りの表記になっていました。
これではUNIX上でファイルロックがかからないと思うのですが、、、、
ただの作者の認識違いで片付けてしまっていいのでしょうか??
それとも、ブロック内に「;」をつけてはいけないのでしょうか?そんなハズはないとおもうのですが・・・

A 回答 (1件)

{}(ブロック)を使用して内部に文を書く場合基本的にセミコロンを付けますが、ブロック内の最後の文に限ってセミコロンは省略可能です。


今回の例ではブロック内は単文ですから、即ち最後の文となりセミコロンを省略しても良いことになります。
    • good
    • 0
この回答へのお礼

今、単純な変数展開をして確かめたところ、おっしゃるとおりちゃんと実行されていました!
既に納品したあとに気付いたのでアセリマシタ。
perlをあまり使ったことがないので、自信がなくしょうもない質問をしてしまいました。
答えてくださってありがとうございます!

お礼日時:2001/09/27 16:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!