in reply to Re: Re: While count ---don't see it
in thread While count ---don't see it

Try
while($count < $#processlist){ $count++ }


"Nothing is sure but death and taxes" I say combine the two and its death to all taxes!

Replies are listed 'Best First'.
Re: Re: Re: Re: While count ---don't see it
by rbc (Curate) on Mar 29, 2002 at 21:51 UTC
    or even ...
    $count = $#processlist - 1;
      When you check an array in a scalar context, you get the number of elements in the array. When you check $#, you get the highest subscript, which is one less than the number of elements since the array is zero-based. So, you would want to add one, not subtract.

      Also, the while loop also promises not to alter $count if $count is already higher than the number of elements in @processlist. So, I believe you would need this:

      $count = @processlist unless ( $count > @processlist ); ## Or $count = $#processlist + 1 unless ( $count > ($#processlist + 1));
Re: Re: Re: Re: While count ---don't see it
by curtisb (Monk) on Mar 29, 2002 at 21:34 UTC
    Sorry, that didn't work. It just returned the value of 38.
    Thanks
    curtisb
      Hmm, just tried it with my fix and it worked just fine. Oh yeah, and use strict!

      UPDATE: For it to do what you want it to try this:
      UPDATE2: updated code with some semblance of strict
      #/usr/bin/perl -w use Win32::IProcess; use strict ; my $process = new Win32::IProcess || die "Unable to create new process +!: $!\n"; my @processlist ; $process -> EnumProcesses(\@processlist) || die "Unable to get process + list: $!\n"; my $count = 0; foreach $process(@processlist) { my $pid = $process ->{ProcessId}; my $name = $process->{ProcessName}; if ($count <= $#processlist) { $count++; } format STDOUT_TOP = Number Process Name Process Id ====== =================== ============= . format STDOUT = @<<<< @<<<<<<<<<<<<<<<<<<< @<<<< $count, $name, $pid . write; }

      You only asked for help with your while loop, and I fixed it. the above code fixes ALL your issues

      "Nothing is sure but death and taxes" I say combine the two and its death to all taxes!
        I am looking fopr information regarding Win32::IProcess code and it's license information. I am using Google to search and have come across your reference within the code above. Is there any chance you know aof a download sight for the Win32::IProcess code? I am hoping that will lead me to some license/copyright information. please email me at scagan@ascential.com Thanks!