# $arg is built in a for loop like this. $arg .= "\"" . $str . "\", "; ##### after building $arg will be "bkund", "454545" chop $arg ; chop $arg ; # the below line works doesn't work with eval my $call = ' $jobs->$func ($arg) ' ; # this is actual data $arg - the below line works with eval # my $call = ' $jobs->$func ("bkund", "454545") ' ; my %jobstats = eval $call;