First of all a warm welcome to WebmasterWorld joecarter!
Locate doesn't find files based on their basename, but based on their full path stored in a local database which is periodically compiled with the updatedb task. The regular expression parameter you pass to the locate tool must match a whole line in the database. vmware*.pl doesn't match any of the entries, because they are all full paths beginning with a slash. Therefore a wildcard at the beginning is necessary. It matches the path part of the file location.
You can also use real-time searching where you can specify a basename only. For example:
find / -name "vmware*.pl" -print
This command performs a search through the whole directory structure instead of a precompiled database and will therefore take more time than a search with the locate utility.