|
こんにちは パールのコードについて教えてください。 ログの読み込みなのですが、ファイルハンドルをオープンして通常は @log = <FH>; のような形で取り込むのですが、ログファイルの先頭の 1行だけ必要な場合、その1行だけを取得することはできるのですが、 書き換えたその1行を元の先頭に戻したいのです。 メモリ食いの @log = <FH>; は使わないで、while(<FH>){nantoka;} のような形で解決するコードは無いでしょうか。 よろしくお願いします。 |
|
>>2815 moto use IO::Handle して、sysopen して、<FH> して、先頭に seek で戻って print でいけるかな。 ただし、1行あたりの文字数が変わらない場合のみです。 |
|
こんにちは 68user さん 掲示板のログの読み込みに関してだったのですが、やはり、上手い手は無いようなのですね。 いつも思うのですが、open 関数の >> の追加書き込みでログの先頭に書きむ選択肢もあったら、while 関数ももっと活躍できるのにと残念です。 お騒がせしました。 |
|
>>2817 moto > open 関数の >> の追加書き込みでログの先頭に書きむ選択肢もあったら と言われて思い出しましたが、 +> や +>> ってのがありましたね。 ただ、繰り返しになりますが、文字や行の挿入はできませんよ。 あくまで上書きのみです。よって、あまりうれしくないかも。 |
|
教えてください。 vi エディッタで rm ファイル名で ファイルを削除してしまいました。 復元する方法はありませんか??? よろしくお願いします。 |
|
>>2819 飛鳥 一般的な UNIX のファイルシステムであれば、消したファイルは 復活できません。あきらめましょう。 |