CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Perl Programming Help: Frequently Asked Questions:
How do I perform an operation on a series of integ

 



Jasmine
Administrator

Jan 19, 2001, 2:35 PM

Post #1 of 1 (1529 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:

Code
    @results = map { my_func($_) } @array;

For example:

Code
    @triple = map { 3 * $_ } @single;

To call a function on each element of an array, but ignore the results:

Code
    foreach $iterator (@array) { 
&my_func($iterator);
}

To call a function on each integer in a (small) range, you can use:

Code
    @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:

Code
    @results = (); 
for ($i=5; $i < 500_005; $i++) {
push(@results, &my_func($i));
}


 
 


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives