# encoding: GBK
# This file is encoded in GBK.
die "This file is not encoded in GBK.\n" if q{ } ne "\x82\xa0";
use Char;
print "1..1\n";
my $__FILE__ = __FILE__;
my $anchor1 = q{\G(?:[\x81-\x9F\xE0-\xFC][\x00-\xFF]|[\x00-\xFF])*?};
my $anchor2 = q{\G(?(?!.{32766})(?:[\x81-\x9F\xE0-\xFC][\x00-\xFF]|[\x00-\xFF])*?|(?(?=[\x00-\x7F]+\z).*?|.*?[^\x81-\x9F\xE0-\xFC](?:[\x81-\x9F\xE0-\xFC][\x00-\xFF])*?))};
if (($] >= 5.010001) or
(($] >= 5.008) and ($^O eq 'MSWin32') and (defined($ActivePerl::VERSION) and ($ActivePerl::VERSION > 800))) or
(($] =~ /\A 5\.006/oxms) and ($^O eq 'MSWin32'))
) {
# avoid: Complex regular subexpression recursion limit (32766) exceeded at here.
local $^W = 0;
if (((('A' x 32768).'B') !~ /${anchor1}B/b) and
((('A' x 32768).'B') =~ /${anchor2}B/b)
) {
# do test
}
else {
for my $tno (1..1) {
print "ok - $tno # SKIP $^X $0\n";
}
exit;
}
}
else {
for my $tno (1..1) {
print "ok - $tno # SKIP $^X $0\n";
}
exit;
}
my $data = <<END;
<dl>
<td>aaa</td>
<dd>12345</dd>
</dl>
END
$data = $data x int(40000 / length($data));
my $bbb = <<END;
<dl>
<td>bbb</td>
<dd>6789</dd>
</dl>
END
my $ccc = <<END;
<dl>
<td>ccc</td>
<dd>6789</dd>
</dl>
END
my $data2 = "$data$bbb";
$data2 =~ s|<td>bbb</td>|<td>ccc</td>|;
if ($data2 eq "$data$ccc") {
print "ok - 1 $^X $__FILE__\n";
}
else {
print "not ok - 1 $^X $__FILE__\n";
}
__END__
http://okwave.jp/qa/q6674287.html
Perl t@CêCÇÝã̳K\»É¢Ä
PerlÅȺÌÊèA
htmlt@CðSÄÇÝñ¾ãɳK\»ðĽ¢ÌÅ·ªA¤Ü¢«Ü¹ñB
°kÅ·ªA´öð²¶mÌû¢çÁµá¢Üµ½ç³¦Ä¸¯Ü¹ñŵ天B
ܽA¼ÉÇ¢ðû@ª èܵ½ç³¦Ä¸¯éÆK¢Å·B
¦PC«Íwindows7, perl5.12Å·BîñÉs«ª²´¢Üµ½ç²wEº³¢B
-----
#--test.html(¶¤ÌÍs)
000001 <dl>
000002 <dt>aaa</dt>
000003 <dd>12345</dd>
000004 </dl>
iªj
120001 <dl>
120002 <dt>bbb</dt>
120003 <dd>6789</dd>
120004 </dl>
#--test.pl
open IN , "test.html";
local $/ = undef;
$data = <IN>;
close IN;
$data =~ s|<td>bbb</td>|<td>ccc</td>|;
print "$data\n";
-----
t@CÌnßÌû¾Æ½éÌÉAã¼ÅͽèܹñB
³K\»ÌÎÛƵÄå«·¬éñŵ天EEEB
$data =~ s|<td>aaa</td>|<td>ccc</td>|;
ÍA½èÜ·ª
$data =~ s|<td>bbb</td>|<td>ccc</td>|;
¾Æ½èܹñB
Ǥ¼æ뵨袢½µÜ·B