in reply to Running stored procedure through perl script

using use strict; and use warnings; would probably be a good idea too...

Update:
At the very least, $Param1 appears to be undefined, and you are passing its vaue to $oSP->{'@Param1'}...