'C:\PROGRA~1\MySQL\MySQL' is not recognized as an internal or external command
I would think that the main problem here is that mysqladmin.exe is in a folder whose name contains white space (ie the "MySQL Server 5.0" part of the path).
The best solution is to not put *anything* in such places - then you won't have to deal with the various workarounds. One such workaround in this instance (untested) is to replace $v = qx($mysqladmin version); with $v = qx("$mysqladmin" version); I think that will work - otherwise you could try $v = qx("\"$mysqladmin\"" version);