Call pl/sql function and discard result
Your options are:


Assign the result to a dummy variable:

junk := perform_work;

Select the result into a dummy variable:

select perform_work into junk from dual;

Create an implicit cursor in a loop:

for i in ( select perform_work from dual ) loop
   null;
end loop;

If the function does not need to be called from SQL you could change it into a procedure with an OUT parameter, though this still requires a "junk" variable it might look very slightly cleaner?

perform_work(junk);



If you don't want to use this function though, why not just remove it from your code? 

The only time I can think of there being a valid use-case for this sort of structure is when you're running identical code in two different schemas/on two different databases but this function is useless in one of them. If that's the case the function is still useful in the other and so you will want to do something with the result anyway.