I am trying to convert a ethernet addresses from the form 8:0:20:0:2:10 to 080020000210. I need to add a zero to the single digit hex numbers and strip out the colons from the address.
I could split the address using split and then recombine it without the colons, but using regular expressions sounds like more fun.
Here what works:
my $foo = "0:0A:0C:B:B8:F"; $foo =~ s/\A([0-9A-F]){1}:/0$&/g; #take care of the start $foo =~ s/:([0-9A-F]{1}):/:0$1:/g; #take care of the middle $foo =~ s/:([0-9A-F]{1})\Z/:0$1/g; #take care of the end $foo =~ s/\://g; #remove the colon
I got it working using four different expressions, but I think it is sorta a kludgy solution. Any ideas on how I could improve it?
In reply to Converting MAC Address by HiFoo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |