$re = qr/(?

...)(?...)(?...)|(?

...)(?...)(?...)/; $string =~ $re; ( $h, $m, $s ) = ( $1 || $4, $2 || $5, $3 || $6 );