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]>