I am calling a PL*SQL from unix shell script (csh).

I want the PL*SQL to return a value to the shell script. In order to do so I am calling the PL*SQL using

set val = `sqlplus -s ... `

But whatever I write using DBMS_OUTPUT is being transferred to <val>.

I want only a single integer value at the end of PL*SQL not everything. But I also cannot remove the DBMS_OUTPUT statements. I do not have an option of using UTL_FILE package.

How can I pass the integer value to the shell script variable ?