擅长:python、mysql、java
<pre><code>#!/usr/bin/perl
use strict;
use warnings;
use constant BLOCK_SIZE => 64*1024;
my $buf = "";
my $searching = 1;
while (1) {
my $rv = read(\*STDIN, $buf, BLOCK_SIZE, length($buf));
die($!) if !defined($rv);
last if !$rv
while (1) {
if ($searching) {
my $len = $buf =~ m{\[(?:a|\z)} ? $-[0] : length($buf);
substr($buf, 0, $len, '');
last if $buf !~ s{^\[a}{};
$searching = 0;
} else {
my $len = $buf =~ m{b(?:>|\z)} ? $-[0] : length($buf);
print substr($buf, 0, $len, '');
last if $buf !~ s{^b>}{};
print("\n");
$searching = 1;
}
}
}
</code></pre>
<p>做了很多假设:</p>
<ul>
<li>假设开始标记的拼写完全是<code>[a</code>。你知道吗</li>
<li>假定结束标记的拼写完全是<code>b></code>。你知道吗</li>
<li>假设每个开始标记都有相应的结束标记。你知道吗</li>
<li>假设每个结束标记都有相应的开始标记。你知道吗</li>
<li>假设在<code>[a</code>和<code>b></code>之间找不到<code>[a</code>。你知道吗</li>
</ul>