First of all, it depends on the license of software.
A 'Perpetual License for Use' is non-descriptive. You must define 'use' (i.e. use to sell, use to re-distribute, use to modify are all possible interpretations of the word 'use'). It is quite common at law that when there is ambiguous wording of the contract, the courts will deem that to be the fault of the person who drafted the contract (this is common with insurance, for example), so make sure you define 'use.' (And as I am not a lawyer, please seek clarification from a qualified legal professional - this applies to the full contents of this answer, including this point and points below).
Given the above, if 'use' does not include a right to source-code (which it seems from your question it does not), then if you can, deliver an executable, or your code in manner which permits the intended use, but prevents the ability to copy and redistribute.
However, if you are required, under the license and/or terms of your agreement to provide source-code, then certain ancillary obligations come with that. For example, under an open-source license, those obligations may include, but may not be limited to:
making the code available from a suitable distribution point (i.e. USB key, your website, project hosting sites, a repository that is accessible to the client, etc); and
must include the source code for any other open-source components you have used in your project.
For further information on obligations of making open-source code available, see OSS Watch's Making the Code Available section.
For proprietary software, (i.e. software in which you are not obligated to provide your source code), you would generally define terms (including prohibition to do such things as 'reverse-engineer,' 'redistribute' etc.) in what's called an EULA (End-User License Agreement) - but you must be careful that the client has access to and can review the EULA prior to purchasing or contracting for the software, otherwise the EULA may be considered void (for example, in shrink-wrapped software). Your EULA should define how the software may be delivered to the client and what the client may or may not be permitted to do with the software you provide.