インフォメーションBBS
[使い方]
[タイトルのみ]
[関連発言]
[最新20発言]
[過去ログ一覧]
発言#0891へのレスポンスを書き込んでください:
お名前:
←パスワード(修正用)
アドレス:
タイトル:
本文:
#0891(キャメル氏)の書き込みを引用します: >#0888(matu氏)の書き込みを引用します: >>ちょっと本筋からそれてしまうのですが本(すぐに使えるPerl スクリプト〜)の >>6ページの解説によると「+>」と「+<」はともに「読み書き両用」となっているの >>ですが、機能の違いがなにか有るのでしょうか? > >これは説明不足でした。同じ「読み書き両用」とはいっても、 >"+>"は、既存のファイル内容をそのまま保存するのに対して、 >"+<"は、オープンの時点でファイル内容をクリアするものです。 > >>前日の質問に補足をいたします。 >>> print IN $_ ; >>の部分を >> print $_ ; >>のように標準出力に出せば、期待通り >>aaa >>xxx >>ccc >>ddd >>となりますが、 > >あ、すみません。「print $_;」と見まちがえていました。 >同じファイル(IN)に書き戻すのですね。 > >このように「ひとつのファイルを読みつつ同時に書き換える」という >処理は難しいと思ってください。もしそれをするなら、seek関数を使って、 >(1)どの位置(何バイトめ)から読むか、 >(2)どの位置に書き込むか >をいちいち指定しないといけません。 > >また、そのためには、1行のデータサイズを固定するなどの手法で、 >書き込むデータが次に読むべきデータを上書きしない工夫も必用です。 > >実際に、同じファイルに対して、seek関数をつかわず、平行して「読み」と >「書き」をおこなった場合、結果はどうなるかわかりません。 >バッファリングの状況によっては、1行めのデータが全行にコピーされる >場合があるかもしれませんし、ファイル内容が消える場合もあると思います。 > >#ところで、このBBSのスクリプト、バグってます(いまさら) >#「修正」を実行すると、「><」が「<」に化けてしまいます| >#あとで新しいスクリプトに入れ替えておかねば。></」が「<」に化けてしまいます|></」はともに「読み書き両用」となっているの>
[トップページに戻る]
管理人 :
キャメル