Nicely done.
A followup( to convert this to a running clock) should be easy and not too protracted a job.
- Remove (comment out) the mvalue in $wxGlobals{mValue}.
- Insert code to use localtime() to obtain $hour and $minute (as global vars).
- Write a routine to ensure those values have two digits.
- Use the (global) formatted $hour and $min in the sub do drawing{ instead of the hash element.
- And, of course, put the whole thing in a loop with a sleep 15 (or so, +/-) so the clock will update.
Of course, there are easier ways -- including perching a USD 2.49 (cheapo) clock in your view... and better than this top-of-the-head expression of enthusiasm for your "learning...taking place." :)