Есть примеры в DBD :: ODBC t / dir (см. 20SqlServer.t). В основном вы делаете (не полный рабочий пример):
my $output;
my $input = 'fred';
my $sth = $dbh->prepare(q/{ ? = call myproc(?) }/);
$sth->bind_param_inout(1, \$output, 100);
$sth->bind_param(2, $input);
$sth->execute
Теперь $ output должен содержать все, что вернула ваша процедура. Убедитесь, что вы установили длину в bind_param_inout достаточно (100 выше).