Nice idea - I'd got a bit hung up on the solution being an RE. I think that they are always "dotted-sex!" format (the string comes from calling netstat -i and I have to cope with the different formats produced by HP-UX, AIX, and OSF1).
Perhaps we can have a pint together at yapc::Europe?

Not much to offer except curiosity and frustration on my own efforts. On your HP-UX interface queries, does it render "raw" (no colon or dash delimiter) 12 characters, with leading zeroes, or does it provide you with the delimiter. I'm using "lanscan -a" on the HP-UX interfaces, getting my 12 char MAC address, trying to insert colons every two characters, then stripping the lead zeroes. That's my fallback position after I baked my brain on making the DEC OSF1 "netstat -i | grep '<Link>' |egrep -v "s10|lo0|ppp0"|awk '{print $1}' | sort -u`" system call for-loop kludge work, which at least renders multi-line output of valid, live interfaces. If I can get either to work, I'll die a happy man...as I thrust my head through the display :-) ...---... SOS !!! -raddude

Update: In fact I don't see any reason for the second bracketed expression in the regex. Also I can't see how it expands the first hex number if that's necessary. Is this better? or have I missed something subtle?

Is my interpretation correct?
The first () matches one or more non-dot characters and the second () matches the trailing . or nothing at the end of the string.
Then you build a string that has at least two leading zeros and extract the rightmost 2 characters and tag on the trailing . or nothing.
I quite like this solution as well. Both you and davorg have come up with good alternatives, thanks. I should think about using substr more - unfortunately it sits in my mind sharing a location with peek and poke! and so doesn't come out to play much these days.

The nice thing about perl is that it allows you to code in a manner that simulates speech. You said something like, "I want to split up the address at the dots, prefix zeros to single digit hex values, and join it all together to make a value." Which, incidentally, is exactly what the above one-liner does.

That solves the original problem. ybiC pointed out that another format mac addresses come in has groups of 4 characters, separated by :. The amended question was whether both formats can be handled together. The following does that:

Ada Lovelace for the palindrome
Albert Einstein for having smelly feet
Alfred Nobel for his contribution to battlefield science
Burkhard Heim for providing the missing link between science and mysticism
Claude Shannnon for riding a unicycle at night at MIT
Donald Knuth for being such a great organist
Edward Teller for being the template for Dr. Strangelove
Edwin Hubble for pretending to be a pipe-smoking English gentleman
Erwin Schrödinger for cruelty to cats
Hedy Lamarr for weaponizing pianos
Hugh Everett for immortality, especially for cats
Isaac Newton for his occult studies
Kikunae Ikeda for discovering the secrets of soy sauce
Larry Wall for his website
Louis Camille Maillard for discovering why steaks taste good
Marie Curie for the shiny stuff
Nikola Tesla for the cool cars
Paul Dirac for speaking one word per hour when socializing
Richard Feynman for his bongo skills
Robert Oppenheimer for his in-depth knowledge of the Bhagavad Gita
Rusi P Taleyarkhan for Cold Fusion
Sigmund Freud for his Ménage ā trois
Theodor W Adorno for his contribution to the reception of jazz
Wilhelm Röntgen for the foundations of body scanners
Yulii Borisovich Khariton for the Tsar Bomba
Other (please explain why)