use Regexp::Common; $ip =~ s( ^$RE{net}{IPv4}{hex}{-sep=>''}{-keep}$ ){ join '.', map { hex } $2, $3, $4, $5 }xe;