global special variable for array index?

Bruce Timberlake brucet at onebox.com
Thu Apr 20 18:24:46 CDT 2000


~sdpm~
> Isn't there a global special variable for the list index when you're
> stepping through a list with a for (= foreach) statement?  For
> example, I frequently have code like this:
> 
> my $index;
> for my $element (@list)
> {
>     # some processing on $element
>     $index++;
> }
> 
> It would be much easier if there were a global special variable (like
> $. for line numbers) so I don't have to keep track of $index myself.

First off, with that syntax you want to be doing a "foreach," not "for."
 I don't think there is a special variable a la $_ for loop iteration
counting.  I think what would work for you is:

  $index = @list;

at the loop exit, which will set $index equal to the number of elements
in @list.  E.g.,
  my $index;
  my $element;
  @list = ("Larry", "Moe", "Curly");
  foreach $element (@list) {
    ... # process $element
  }
  $index = @list;  # $index now equals 3

Hope this helps!

Bruce


__________________________________________________
FREE voicemail, email, and fax...all in one place.
Sign Up Now! http://www.onebox.com

~sdpm~

The posting address is: san-diego-pm-list at hfb.pm.org

List requests should be sent to: majordomo at hfb.pm.org

If you ever want to remove yourself from this mailing list,
you can send mail to <majordomo at happyfunball.pm.org> with the following
command in the body of your email message:

    unsubscribe san-diego-pm-list

If you ever need to get in contact with the owner of the list,
(if you have trouble unsubscribing, or have questions about the
list itself) send email to <owner-san-diego-pm-list at happyfunball.pm.org> .
This is the general rule for most mailing lists when you need
to contact a human.




More information about the San-Diego-pm mailing list