You created the Win32::OLE object as $RL but you're trying to use $RiskLib in the next line.
my $myoutput = $RiskLib->RiskLibVersion->Call(1); does not appear to be a direct translation of call MyObject.RLVersion(1,y) so how did you arrive at this Perl statement?