No such thing as a small change PerlMonks

### Re: Recursive loops

by reaper9187 (Scribe)
 on Dec 11, 2012 at 11:44 UTC ( #1008281=note: print w/replies, xml ) Need Help??

The actual subroutines are very long and perform comprehensive checks.... I can , however, give you some sample data

.

I have an array @array = (A,B,C,D,E,F) (these values are again picked up from another subroutine .so i have no control over its size.) For the elements in the array I perform a check (using sub A) and assign values(using sub B , say A=1, B=2 , C=4 etc) .. I then use these updated values to perform a specific check(using subA). Assume that i need to change the value for A,B again (using B). This is done iteratively done till i observe no clash

So the input is something like @array = (A,B,C,D,E..) Process;
1. Perform using sub A
2. Assign values using B
O/p after first iteration : A= 1, B = 2 , C = 2, D= 4, E= 5;
3.Check again using A
-Assuming I need to change the values for C, D.
4.Assign values using B
5.Check again using A. If no faults detected, break out of loop

The final o/p would look like A= 1, B= 2,C = 3,D =4,....
Note that the above is jus an example of the process flow and not the actual data.

Replies are listed 'Best First'.
Re^2: Recursive loops
by dsheroh (Prior) on Dec 12, 2012 at 10:13 UTC
In that case, you don't even need a queue. To restate your description of the process:
While subA detects faults, use subB to correct them.
Translating this to Perl is trivial:
```while (subA(@array)) {
subB(@array);
}
or
```while (my @faults = subA(@array)) {
subB(\@array, \@faults);
}
if subB needs to know what the list of faults was.

Create A New User
Node Status?
node history
Node Type: note [id://1008281]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2018-04-25 05:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My travels bear the most uncanny semblance to ...

Results (88 votes). Check out past polls.

Notices?