You're declaring $resources in the call to GetSharedResources. The documentation states the syntax for calling that sub is GetSharedResources( \@Resources, dwType, \%NetResource = NULL ) (note the array ref as the first argument). The tests I ran gave different results based on how the variable was declared and initialized.
use strict;
use warnings;
use Data::Dumper;
testsub( my $ref1, 'hi' );
print Dumper( $ref1 );
# output: $VAR1 = undef;
my $ref2;
testsub( $ref2, 'hello' );
print Dumper( $ref2 );
# output: $VAR1 = undef;
my $ref3 = [];
testsub( $ref3, 'howdy' );
print Dumper( $ref3 );
# output: $VAR1 = [ 'howdy' ];
sub testsub
{
my ( $ref, @args ) = @_;
push( @$ref, @args );
}
Try declaring $resources before the sub call, and assign an array ref to it rather than leaving it undef. I hope another monk can help to explain this behavior, because I'm not sure I understand it.
|