Below is a quick and dirty script that will give you a list:
select all_objects.owner,
all_objects.object_name,
substr(dba_source.text,1,100) text
from sys.dba_source,
sys.all_objects
where all_objects.owner = dba_source.owner
and all_objects.object_name = dba_source.name
and all_objects.object_type
in ('FUNCTION','PROCEDURE','PACKAGE')
and all_objects.owner='SCHEMA_NAME'
and dba_source.line <=
(select min (ds.line)
from sys.dba_source ds
where ds.owner = all_objects.owner
and ds.name = all_objects.object_name
and (UPPER(ds.text) like '%BEGIN%' or ds.text like '%)%'))
order by dba_source.owner,
dba_source.name,
dba_source.line;
Hope it helps,
Barbara