package OverFtest;
use overload
+ fallback => 1,
-X => sub {
- $over = [overload::StrVal($_[0]), $_[1]];
+ $over = [qq($_[0]), $_[1]];
"-$_[1]";
};
}
}
my $ft = bless [], "OverFtest";
-my $ftstr = overload::StrVal($ft);
+my $ftstr = qq($ft);
my $str = bless [], "OverString";
my $both = bless [], "OverBoth";
my $neither = bless [], "OverNeither";
-my $nstr = overload::StrVal($neither);
+my $nstr = qq($neither);
open my $gv, "<", "TEST";
bless $gv, "OverString";
$io = *{$io}{IO};
bless $io, "OverString";
-eval { require Fcntl };
+my $fcntl_not_available;
+eval { require Fcntl } or $fcntl_not_available = 1;
for my $op (split //, "rwxoRWXOezsfdlpSbctugkTMBAC") {
$over = [];
my ($exp, $is) = (1, "is");
if (
+ !$fcntl_not_available and (
$op eq "u" and not eval { Fcntl::S_ISUID() } or
$op eq "g" and not eval { Fcntl::S_ISGID() } or
$op eq "k" and not eval { Fcntl::S_ISVTX() }
+ )
) {
($exp, $is) = (0, "not");
}