This issue should now be fixed in r32597 so that PGE::Match objects
correctly return an ObjectRef and assigns properly into scalar types.
Also, in order to help diagnose such issues in the future, I've added a
.PARROT method to rakudo that can be used to better diagnose what is
happening internally when difficulties arise. This should be a more
reliable indicator than trying to use .WHAT, which often hides such
differences. For example
$ ./parrot perl6.pbc
> my $a = 'foo' ~~ /./; say $a.WHAT; say $a.PARROT;
Match
ObjectRef->PGE;Match
> my $a = 'foo' ~~ /./; say (~$a).WHAT; say (~$a).PARROT;
Str
String
Here we can see that even though .WHAT returns the expected Perl 6
protoobject, .PARROT shows us what is really happening beneath the surface.
I expect that most of the remaining discrepancies will resolve
themselves when we get HLL mapping in place.
Resolving ticket, thanks!
Pm