From: "Gavin Henry" <[EMAIL PROTECTED]> > Just a quickie. I think the answer is that th while loop is going > through the file twice?
Nope > -------------- > Codes that does what I expect, i.e. prints out the 42 lines of my > passwd file, with the array spaces, due to the array in "", swapped > for <was :> and runs on $_: > > #!/usr/bin/perl > use strict; > use warnings; > > $" = '<was :>'; > > open PASSWD, "/etc/passwd" > or die "Eh? ($!)"; > > while (<PASSWD>) { The line above reads one line from the PASSWD handle and puts the line into $_. > my @passwds = split /:/; This line splits the $_ variable by colons and puts the items into @passwds. > print "@passwds"; > } > > > -------------- > This now only prints 21 lines? > > I am not sure why? It misses the odd ones. > > > #!/usr/bin/perl > use strict; > use warnings; > > $" = '<was :>'; > > open PASSWD, "/etc/passwd" > or die "Eh? ($!)"; > > while (<PASSWD>) { The line above reads one line from the PASSWD handle and puts the line into $_. > my @passwds = split /:/, <PASSWD>; And this line reads another line from PASSWD, splits it by colons and puts the items into the @passwds array. > print "@passwds"; > } HTH, Jenda ===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz ===== When it comes to wine, women and song, wizards are allowed to get drunk and croon as much as they like. -- Terry Pratchett in Sourcery -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>