Thanks
Corion,
Tux,
duelafn.
Not much to add except that the level of support for perl5 extensions seems pretty good.
In general, I haven't yet found a way to access overloaded operators directly.
Instead I'm calling the overloading subroutines by name - eg:
use Inline::Perl5;
my $p5 = Inline::Perl5.new;
$p5.use('Math::Float128');
my $f1 = $p5.invoke('Math::Float128', 'new', '2.5');
my $f2 = $p5.invoke('Math::Float128', 'new', '3.0');
my $swap = 0; # Set to true if order of
# operands is to be swapped
# Set $f3 to $f1 divided by $f2
my $f3 = $f1._overload_div($f2, $swap);
say "# $f3";
# Outputs, as expected:
# 8.33333333333333333333333333333333365e-01
I was hoping to be able to do something like:
my $f3 = $f1 / $f2;
but that doesn't work, so I have to resort to calling Math::Float128::_overload_div() by name.
That's no big deal, but it still puzzles me that
say "# $f3"; apparently manages to access the Math::Float128 overloading of "" without any need for me to call Math::Float128::_overload_string() by name.
Yet for all other overloaded operators I'm having to call the relevant subroutine.
The penny will drop when it's ready to fall ;-)
I'm also wondering whether Inline::Perl5 will work on MS Windows. Any experience of that here ?
I think it should be ok:
C:\>perl -V:useshrplib
useshrplib='true';
At some stage I'll grab a Windows version of perl6 ... and find out ...
Cheers,
Rob