my $foo = "0:0A:0C:B:B8:F"; $foo =~ s/([0-9A-F])+:?/length($1) < 2?"0$1":$1/ge; #### my $foo = "0:0A:0C:B:B8:F"; $foo =~ s/([0-9A-F]+):?/length($1) < 2?"0$1":$1/ge;