http://www.perlmonks.org?node_id=1060802

m/^[[:xdigit:]]{8}-(?:[[:xdigit:]]{4}-){3}[[:xdigit:]]{12}$/

Humbly submitted.

Fun activity: add groupings to parse bits (words) of it out if you're so inclined. (See RFC 4122 for the bits' meanings. Also likely better done through unpack, but I warned you this was a fun activity.)
($time_low) = $uuid =~ m/^([[:xdigit:]]{8})-(?:[[:xdigit:]]{4}-){3}[[: +xdigit:]]{12}$/