Jim Crumley said: > On Tue, Sep 12, 2000 at 02:13:28PM -0500, Nick.T.Reinking at supervalu.com wrote: > > for (my $i = 0; $i <= $#addrlist; $i++) > > { > > if ($addrlist[$i] eq $addr) { splice (@addrlist, $i, 1); } > > } > > Doesn't this break the array subscripts though. You had an array > of 4 items (0=a 1=b 2=c 3=d), and you pull out the first one (index 0). > Now you have (0=b 1=c 3=d). You for statement happily goes on to check > the next index 1, but it has skipped over checking b because the > indices change. In the more general case, absolutely. In my situation, though, an address will never appear in a list more than once. (Unless users go and edit the list on disk manually...) > Anyway, I could have sworn I had that problem, so I would run the > loop in reverse. Good idea. You never can trust users to behave the way you intend. -- "Two words: Windows survives." - Craig Mundie, Microsoft senior strategist "So does syphillis. Good thing we have penicillin." - Matthew Alton Geek Code 3.1: GCS d- s+: a- C++ UL++$ P+>+++ L+++>++++ E- W--(++) N+ o+ !K w---$ O M- V? PS+ PE Y+ PGP t 5++ X+ R++ tv b+ DI++++ D G e* h+ r++ y+ --------------------------------------------------------------------- To unsubscribe, e-mail: tclug-list-unsubscribe at mn-linux.org For additional commands, e-mail: tclug-list-help at mn-linux.org