インフォメーションBBS
[使い方]
[タイトルのみ]
[関連発言]
[最新20発言]
[過去ログ一覧]
発言#0890へのレスポンスを書き込んでください:
お名前:
←パスワード(修正用)
アドレス:
タイトル:
本文:
#0890(うはく氏)の書き込みを引用します: >#0889(水原@ういんずらんど氏)の書き込みを引用します: >>#0884(matu氏)の書き込みを引用します: >>>本で良く登場する >>>open(IN,"+<$file") >>>に関して、以下[ソース1]のように、オープンしたファイルの中の有る文字列を >>>発見したら置換するようなプログラムを作ったのですが、実行するとなぜか元の >>>ファイルが消えてしまいます。なぜなのか教えてください。 >>>--------------------(ソース1)------------------------ >>>#! /usr/local/bin/perl >>>$file = "sample.txt"; >>>open(IN,"+<$file"); >>>while(<in>){ >>> s/bbb/xxx/; >>> print IN $_ ; >>>} >>>close(IN); >>>------------------------------------------------------- >>>-------------------[sample.txt]------------------------ >>>aaa >>>bbb >>>ccc >>>ddd >>>------------------------------------------------------- >> >>ウチで試したら、<strong>ファイルの内容が変化しなかった。</strong> > >open(IN,"+<$file") >私の家では「ファイルの内容に変化なし」でした。 > >open(IN,"+>$file") >私の家では「ファイルが消える」でした。 > >入力と出力を別のファイルにすれば上手くいくのになぁ。 > >ファイルを開いてからすぐに閉じてるので処理が間に合わないのかな?
[トップページに戻る]
管理人 :
キャメル