#!/usr/bin/perl -w
BEGIN{
use Config;
die "Threadbare\n" unless $Config{'useithreads'};
}
use strict;
use warnings;
use threads;
use Data::Dumper;
sub funct_array {
my $self = threads->self;
my ($p1,$p2,$fn) = @_;
my @array_result="12345";
# Run some time consuming process
return @array_result;
}
sub funct_hash{
my $self = threads->self;
my ($p1,$p2,$fn) = @_;
my %hash_result;
# Run some time consuming process
return \%hash_result;
}
my ($par1,$par2,$par3,$filename);
$par1=1; $par2=2; $par3=4; $filename=3;
my $array1 = new threads (\&funct_array,($par1,$par2,$par3,$filename))
+;
my $hash1 = threads->new(\&funct_hash,($par1,$par2,$par3,$filename));
print "Sleep";
sleep 1;
print "\nwakeup $$array1 $$hash1";
# Then I tried to see the content of the array
# with Data Dumper
print Dumper $array1->join;
print Dumper $hash1->join;
This returns the referances to the functions. Your functions dont return any value. This will find something with the dumper mod. This seems to be on the right track for now ill see what else i can find. There is something involving the waitpid |