ファイルテスト演算子(-X)を変更する方法が分からない

ファイルテスト演算子(-X)を変更する方法が分からない

 とりあえずstat()みたいにファイル名かファイルハンドルを受け取るものに関しては

    my $stat = eval {$where->can('stat')};
    *{"$where\::stat"} = sub (*) {
        my $file = shift || $_;
        is_utf8($file) and $file = $convert->($file);
        if (not ref $file and exists ${"$where\::"}{"$file"}) {
            $file = qualify_to_ref($file, caller);
        }
        $stat? $stat->($file): CORE::stat($file);
    };

――とかで動くのだけれど*1、-e(file exists)なんかを上書きする方法が分からなくて困ってます。

 こればっかりは無理なのかな。

 やるとすればソースフィルタでごにょごにょするとか? うーん。

 それで:globallyなことができればいいのだけれど……。

*1:ただし、barewordファイルハンドルかどうかの判定がこれで良いのか分からない。動いてはいたけど。