in reply to Unable to obtain information from array

sub domainmd5 { $exp->clear_accum(); my ($exp, $domainexp, $pathfile, $file) = @_;

First you call a method on the global $exp then you immediately define a lexical variable with the same name and assign something to it that was passed into the function. It's hard to know what you are trying to do. How about providing a complete program. Also, Data::Dumper might be better for a simplified example to show what you are getting back.