UC $1 $eval($!get $+ $docat(%sel) $+ ($1), 2) | return
makes mIRC evaluate code
times, in your case, you want it to evaluate twice: once to get the identifier name, and then again to get the value it returns. The use of !
is to prevent the first round of evaluation from trying to evaluate $get as an identifier by itself (The $1 doesn't need it because in the first round of evaluation the $ is preceded by a ( so mIRC doesn't try to evaluate it).