# encoding: Cyrillic
# This file is encoded in Cyrillic.
die
"This file is not encoded in Cyrillic.\n"
if
q{ }
ne
"\x82\xa0"
;
"1..4\n"
;
my
$__FILE__
= __FILE__;
if
($] < 5.014) {
for
my
$tno
(1..4) {
"ok - $tno # SKIP $^X $__FILE__\n"
;
}
exit
;
}
if
(
open
(TEST,
">@{[__FILE__]}.t"
)) {
TEST <DATA>;
close
(TEST);
system
(
qq{$^X @{[__FILE__]}
.t});
unlink
(
"@{[__FILE__]}.t"
);
unlink
(
"@{[__FILE__]}.t.e"
);
}
__END__
# encoding: Cyrillic
use Cyrillic;
my $__FILE__ = __FILE__;
my $name = 'fred';
Cyrillic::substr($name, 4) = 'dy';
if ($name eq 'freddy') {
print "ok - 1 $^X $__FILE__\n";
}
else {
print "not ok - 1 $^X $__FILE__\n";
}
my $null = Cyrillic::substr $name, 6, 2;
if ($null eq "") {
print "ok - 2 $^X $__FILE__\n";
}
else {
print "not ok - 2 $^X $__FILE__\n";
}
my $oops = Cyrillic::substr $name, 7;
if (not defined $oops) {
print "ok - 3 $^X $__FILE__\n";
}
else {
print "not ok - 3 $^X $__FILE__\n";
}
eval {
Cyrillic::substr($name, 7) = 'gap';
};
if ($@) {
print "ok - 4 $^X $__FILE__\n";
}
else {
print "not ok - 4 $^X $__FILE__\n";
}
__END__
1. my $name = 'fred';
2. substr($name, 4) = 'dy'; # $name is now 'freddy'
3. my $null = substr $name, 6, 2; # returns "" (no warning)
4. my $oops = substr $name, 7; # returns undef, with warning
5. substr($name, 7) = 'gap'; # raises an exception