
Jasmine
Administrator
Jan 19, 2001, 2:35 PM
Post #1 of 1
(1081 views)
|
|
How do I perform an operation on a series of integ
|
Can't Post
|
|
(From the Perl FAQ) How do I perform an operation on a series of integers? To call a function on each element in an array, and collect the results, use: @results = map { my_func($_) } @array; For example: @triple = map { 3 * $_ } @single; To call a function on each element of an array, but ignore the results: foreach $iterator (@array) { &my_func($iterator); } To call a function on each integer in a (small) range, you can use: @results = map { &my_func($_) } (5 .. 25); but you should be aware that the .. operator creates an array of all integers in the range. This can take a lot of memory for large ranges. Instead use: @results = (); for ($i=5; $i < 500_005; $i++) { push(@results, &my_func($i)); }
|