Hi, some recent change seems to have broken the "rlm_perl" attribute handling. For a string, instead of adding a scalar value with appropriate length, it seems the whole buffer (including 0-byte) is inserted into the Perl hash. Consider this authorize() method: sub authorize { $RAD_REPLY{'Reply-Message'} = "Username >>".$RAD_REQUEST{'User-Name'}."<<"; return RLM_MODULE_UPDATED; } This leads, wrongly, to a prematurely terminated string: rlm_perl: Added pair Reply-Message = Username >>user When you add a line like this at the beginning of the subroutine: $RAD_REQUEST{'User-Name'} =~ s/\0//g; ...then you'll receive the typical garbage that's in uncleared memory: rlm_perl: Added pair Reply-Message = Username >>user ??"c¨?ìå ??... Somehow, the length computation of the SVs must be fixed, but I don't know what broke it or how to repair it... Any help appreciated, thanks in advance! Julius P.S.: I've tested this with FreeRADIUS Git tag "release_3_0_2".