Nah, no need to post the original, I think. I believe the problem is that you're using the null-method syntax to call your sub ref. The "$subref-> (@args)" syntax is standard Perl but gets overloaded by NiceSlice -- constructs of that form get
changed to "$subref->nslice(@args)" by a source filter.

If you change your sub call to "&{$s}($x)" I believe it will work better.




On Nov 29, 2007, at 8:27 AM, Steve Chapel wrote:

Sigh. This is the problem with reduced testcases. When I post them, I get asked "why did you write the code like that"? In my original code, I define a subroutine and call it just in the code I show. When I do not use slices, I do not get an error and get the expected results. When I do use slices, I
do get the error. I reduced the code to the testcase I posted.

I suppose I could post the original code.

Steve


-----Original Message-----
From: Jarle Brinchmann [mailto:[EMAIL PROTECTED]
Sent: Thursday, November 29, 2007 9:46 AM
To: Steve Chapel
Cc: [email protected]
Subject: Re: [Perldl] Can't call method "nslice" on unblessed reference

Hi Steve

my $s = sub { 1; };
my $x = sum($a->slice("0:0,1"));
$s->($x);

It isn't clear to me what you intend to do here - $s is reference to a
subroutine so -> cannot act on this (which is why you get the error).
What is the intention with the code?

                                Cheers,
                                        Jarle.



_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl


_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to