Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

how can I collect x many elements from an array?

by rfb (Sexton)
on Mar 09, 2001 at 04:49 UTC ( [id://63140]=perlquestion: print w/replies, xml ) Need Help??

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
-rfb

Replies are listed 'Best First'.
Re: how can I collect x many elements from an array?
by japhy (Canon) on Mar 09, 2001 at 04:50 UTC
    Use an array slice.
    ($x,@y[0..32],$z) = function();
      slick,
      so that will work the other way around when I have to apply it back to pack?
      -rfb
Re: how can I collect x many elements from an array?
by a (Friar) on Mar 09, 2001 at 11:11 UTC
    You could unpack all 33 into a single var and then mess w/ it later:<code> (@gids) = split(//, $gids_string); <code>

    a

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://63140]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2024-04-24 09:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found