rfb has asked for the wisdom of the Perl Monks concerning the following question:

playing with this code I found to serve auth requests for ncftpd, I'm wonder if there's a more elegant way to collect the values from pack,
original code
# cut from ncftpd_mysql_authd-1.1.tar.gz # Unpack the authentication message ($mType,$state,$duplicate,$rAddr,$hostname,$ipstr,$lAddr,$cfname +,$connectTime,$username,$passPrompt,$passwd,$uid,$gids[0],$gi ds[1],$gids[2],$gids[3],$gids[4],$gids[5],$gids[6],$gids[7],$gids[8],$ +gids[9],$gids[10],$gids[11],$gids[12],$gids[13],$gids[14],$gi ds[15],$gids[16],$gids[17],$gids[18],$gids[19],$gids[20],$gids[21],$gi +ds[22],$gids[23],$gids[24],$gids[25],$gids[26],$gids[27],$gid s[28],$gids[29],$gids[30],$gids[31],$gids[32],$ngids,$restricteduser,$ +homedir,$denied,$allowed,$quotaHardkB,$quotaSoftkB,$quotaHard NumFiles,$quotaSoftNumFiles,$quotaFlags,$ncftpdPrivate,$authdPrivate) += unpack('N N N a16 a64 a32 a16 a64 N a64 a256 a64 N N33 N N a128 N N N N N N N a256 a256',$decoded);
notice all tho's nasty $gids's receiving the N33? yea, I want to get rid of tho's