弐ch編集のPerl講座 (231レス)
弐ch編集のPerl講座 http://medaka.5ch.net/test/read.cgi/php/1013725517/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
9: 弐ch編集 [sage] 02/02/15 08:36 ID:??? open(OUT, "> ./log.dat") or die; print OUT "MegabbsXP!\n"; close(OUT); 書き込み。>は上書きの記号だ。覚えろ。 print OUTもなんとなく分かるだろ?OUTに書き込むって意味。 で、クローズ。終わり。 注意すべきは>は上書きだということ。openは最初にファイルを 空にして、それからファイルハンドルとくっつけるイメージだ。 だからor dieの時、つまりopenが失敗した時には ファイルは空、しかも書き込みもできずっていう最悪パターンだ。 常套手段としてはこれ。 $tmp = './log.tmp'; $file = './log.dat'; open(OUT, "> $tmp") or die; print OUT "MegabbsXP!\n"; close(OUT); chmod(0600, $tmp); rename($tmp, $file); テンポラリに書きだして、それが成功したのを見届けてからリネーム。 これならopenに失敗してもlog.datは生きてる。無関係だから。 ちなみにrenameも失敗する時があるのだが…まあそれは自分でorしてくれ。 chmodは宿題。自分で調べろ。 http://medaka.5ch.net/test/read.cgi/php/1013725517/9
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 222 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s