str(self.orig,$pos++,1);
if $char ~~ /^\s$/ {
self.panic("Whitespace character is not allowed as delimiter"); # "can't happen"
}
elsif $char ~~ /^\w$/ {
self.panic("Alphanu
$text ~= $ch;
$to = $¢.pos;
if $ch ~~ "\n" {
$multiline++;
}
.pos - self.pos);
my ($inside) = $all ~~ m!^...\s*(.*?)\s*.$!;
$¢.obs("Perl 5's $all construct", "a smartmatch like \$! ~~ $inside" );
}
}
token special_var
]?
| <?before ';'>
]
}
token eat_terminator {
[
|| ';' [ <?before $> { $*ORIG ~~ s/\;$/ /; } ]?
|| <?{ @*MEMOS[$¢.pos]<endstmt> }> <.ws>
|| <?terminator>
|| $
|
$text ~= $ch;
$to = $¢.pos;
if $ch ~~ "\n" {
$multiline++;
}
substr($*ORIG,$pos++,1);
if $char ~~ /^\s$/ {
self.panic("Whitespace character is not allowed as delimiter"); # "can't happen"
}
elsif $char ~~ /^\w$/ {
self.panic("Alphanu
;
my $m;
my $here = self;
$m ~= $s;
$m ~= $here.locmess;
$m ~= "\n" unless $m ~~ /\n$/;
note $Cursor::RED, '===', $Cursor::CLEAR, 'SORRY!', $Cursor::RED, '===', $Cursor::CLEA
SUPPOSE or $*FATALS++;
if $s {
my $m = $s;
$m ~= self.locmess ~ "\n" unless $m ~~ /\n$/;
if $*FATALS > 10 or $*IN_SUPPOSE {
die $m;
}
else {
pre = substr($pre, -40, 40);
1 while $pre ~~ s!.*\n!!;
$pre = '<BOL>' if $pre eq '';
my $post = substr($*ORIG, $pos, 40);
1 while $post ~~ s!(\n.*)!!;
$post = '<EOL>' if $post eq '