s{([^Z])?(Z*)$}{ local $_ = ( $1 // 'Z' ) . $2; tr/BCDFGHJ-NP-TV-Z/CDFGHJ-NP-TV-ZB/; $_ }e; #### s{(([^B])|B)(B*)$}{ local $_ = ( $2 // '' ) . $3; tr/CDFGHJ-NP-TV-ZB/BCDFGHJ-NP-TV-Z/; $_ }e;