http://qs321.pair.com?node_id=1158213


in reply to Re: [perl6] More Inline::Perl5 musings
in thread [perl6] More Inline::Perl5 musings

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