I can only think of setting a variable at the end of the foreach like foreach my $file (@files) { ## do stuff my $last = $file; } -----Original Message----- From: Carl Rogers [mailto:crogers3@gmu.edu] Sent: Wednesday, February 06, 2002 4:40 PM To: beginners@perl.org Subject: Accessing previous element of an array in a 'foreach' loop Good day; I'm using foreach to do something to an array. is there a way I can reference a previously 'seen' element without having to traverse the array with a for(;;) statement? ie. I'd like this to work: foreach(@array) { if ($_ =~/somecondition/) { # I want to do something to the element prior to $_ ($_ - 1) } } However, I know I can use for($x=0, $x<$#array; $x++){ if($array[$x] =~ /somecondition/){ # do something to $array[$x-1] } } but I'm curious if there is a way to do the same in the foreach loop. Thank you very much for your time. Carl -- To unsubscribe, e-mail: beginners-unsubscribe@perl.org For additional commands, e-mail: beginners-help@perl.org ---------------------------------------------------------------------------- -------------------- The views and opinions expressed in this email message are the sender's own, and do not necessarily represent the views and opinions of Summit Systems Inc.Thread Previous | Thread Next