Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^5: Iterating through an array using multiple loops and removing array elements

by frozenwithjoy (Priest)
on Apr 24, 2014 at 05:18 UTC ( [id://1083520]=note: print w/replies, xml ) Need Help??


in reply to Re^4: Iterating through an array using multiple loops and removing array elements
in thread Iterating through an array using multiple loops and removing array elements

Unless I misunderstood, didn't you say the next top entry is derived from the first element in your new list of kept elements? If this is the case, the following line takes care of the problem. If this is not the case, then it would be helpful to have a more explicit set of specs for the script.
my ( $top_entry, @entries ) = @_;
  • Comment on Re^5: Iterating through an array using multiple loops and removing array elements
  • Download Code

Replies are listed 'Best First'.
Re^6: Iterating through an array using multiple loops and removing array elements
by BiochemPhD (Novice) on Apr 24, 2014 at 05:34 UTC
    You understood correctly. My mistake was in not realizing that the subroutine arguments (correct me if I'm wrong) would automatically be $_[0] ($top_entry) and @keepers (@entries).

    Thanks for your help so far. I feel like I may be a few steps away from accomplishing my scripting goal.

      Great to hear! And yes, that's the way the code is working.

      Since you may not be familiar with this type of assignment, I just wanted to clarify something about this line:

      my ( $top_entry, @entries ) = @_;

      The order of scalar vs array is really important. For example:

      #!/usr/bin/env perl use strict; use warnings; use feature 'say'; my @original = qw(a b c d); my ( $first_item, @the_rest ) = @original; say "First item: $first_item"; say "The rest: @the_rest"; my ( @array_first_bad, $last_item ) = @original; say "Array first is bad: @array_first_bad"; say "Last item: $last_item"; __END__ First item: a The rest: b c d Array first is bad: a b c d Last item: Use of uninitialized value $last_item in concatenation (.) or string a +t line 16.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1083520]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (7)
As of 2024-04-19 18:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found