弐ch編集のPerl講座 (231レス)
上
下
前
次
1-
新
9
:
弐ch編集
02/02/15 08:36 ID:???
AA×
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
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
書き込みは上書きの記号だ覚えろ もなんとなく分かるだろ?に書き込むって意味 でクローズ終わり 注意すべきはは上書きだということは最初にファイルを 空にしてそれからファイルハンドルとくっつけるイメージだ だから の時つまりが失敗した時には ファイルは空しかも書き込みもできずっていう最悪パターンだ 常套手段としてはこれ テンポラリに書きだしてそれが成功したのを見届けてからリネーム これならに失敗してもは生きてる無関係だから ちなみにも失敗する時があるのだがまあそれは自分でしてくれ は宿題自分で調べろ
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 222 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.685s*