You have to share each hash and array. You don't have to share the values you put into the hash/array.
So, I believe these two lines should be dropped:
share ( $hash{$file}{start} ); # for pulling start time from file
share ( $hash{$file}{stop} ); # for pulling stop time from file
More importantly, the second lines needs to be done more like the first line:
$hash{$file} = &share({});
share ( $hash{$file}{certain_row_type}->[$i] );
$hash{$file}{certain_row_type}->[$i] = $line;
So, something more like:
$hash{$file} = &share( {} );
$hash{$file}{row_type} = &share( [] );
$hash{$file}{row_type}[$i] = $line;
|