$_ = $phone_number; s/[() -]//g; # Remove seperators, or #s/[^0-9xX]//g; # Remove non-digits. s/^1//; die("Unrecognize phone number format.\n") unless /^(\d{3})(\d{3})(\d{4})(?:[xX](\d+))$/; $area_code = $1; $exchange = $2; $number = $3; $extension = $4; $clean_phone = join('-', $area_code, $exchange, $number); $clean_phone .= "x$extention" if defined $extention;