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

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.

  • Comment on Re^6: Iterating through an array using multiple loops and removing array elements

Replies are listed 'Best First'.
Re^7: Iterating through an array using multiple loops and removing array elements
by frozenwithjoy (Priest) on Apr 24, 2014 at 05:52 UTC
    Great to hear! And yes, that's the way the code is working.
Re^7: Iterating through an array using multiple loops and removing array elements
by frozenwithjoy (Priest) on Apr 24, 2014 at 06:45 UTC

    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.