サイドコンテンツ 【メイン】

推し:加藤安那

加藤安那 (ユメオイ少女)

Twitter: @_hana_celeb_

サイドコンテンツ 【サブ】

ブログ エントリー

  • ファイルが無ければ新規作成し、ファイルがあれば読み書きモードで開きたい (not 上書き)

    -
    open/sysopenファイル有りファイル無しファイルサイズ
    open(my $fh, '+<', FILEPATH)読み書きエラー維持
    open(my $fh, '+>>', FILEPATH)読み書き新規作成維持されるが書き込みは追記のみ
    open(my $fh, '+>', FILEPATH)読み書き新規作成0
    sysopen(my $fh, FILEPATH, O_WRONLY|O_CREAT)読み書き新規作成維持
    ※ sysopen() で定数使うなら use Fctl すること。

    sysopen() が万能そうに見えるが、PerlIO を通さないため open(my $fh, '<:utf8', FILEPATH) と言った事が出来ない。 ファイルから読み込んだ後に decode() する必要がある。

    結局 sysopen() は使わず。

    ファイルがあった場合にファイルの内容に影響が無いようにし、ファイルが無かった場合には新規作成すれば良いわけだから、'+<' で open() する前に '+>>' でファイルが無かった場合の新規作成をするようにした。
    '+>>' で open() してもすぐに閉じる。 余計なことはしない。

    後々また使いそうなので空ファイルを作成する関数 ftouch() を作っておく。