Re: XS to return Perl Arrays - and NetWare Select()

[email protected] (Brandon McCaig)
Newsgroups perl.xs
Message-ID <[email protected]>
On Wed, Jun 8, 2011 at 7:11 PM, NormW <[email protected]> wrote:
> AFAICT, I want to implement the following Perl call to XS code:
>
> my (@ro,@wo,@eo) = nw_select(\@ri,\@wi,\@ei,$wait);

Perhaps you meant:

my ($ro, $wo, $eo) = nw_select(\@ri, \@wi, \@ei, $wait);

That is, instead of getting three arrays returned, getting three array
/references/ returned. The first is valid Perl, but it probably
doesn't do what you intended since the first array would get all of
the values returned by nw_select and the second two arrays would
always be empty.

bash $ perl -e <<'EOF'
use strict;
use warnings;

use Data::Dumper;

sub example
{
    my @first = (1..3);
    my @second = (4..6);
    my @third = (7..9);

    return @first, @second, @third;
}

my (@first, @second, @third) = example;

print Dumper \@first, \@second, \@third;
EOF
$VAR1 = [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9
        ];
$VAR2 = [];
$VAR3 = [];
bash $

See `perldoc perlsub` for details.

I'm afraid that I'm lurking here to try to learn XS by example so I
can't help with the XS implementation. :) Good luck.


-- 
Brandon McCaig <http://www.bamccaig.com/> <[email protected]>
V zrna gur orfg jvgu jung V fnl. Vg qbrfa'g nyjnlf fbhaq gung jnl.
Castopulence Software <http://www.castopulence.org/> <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.