in reply to Printing arrays to a file.

It looks like the elements in your array must already end in newlines (and have no newlines otherwise). That may be a valid assumption for your situation, but if you have more complicated data you want to recover, you may want to use something like Data::Dumper instead.

If all you're doing is printing an array to a file, you can do it without a for loop, which seems to be quite a bit faster on my laptop using this benchmark code:

use Benchmark 'cmpthese'; my @a = map {"$_\n"} 1..1000000; cmpthese(100, { forloop => sub { open FILE, ">file.out" or die "Can't open file: $!\n"; print FILE $_ for @a; close FILE; }, array => sub { open FILE, ">file.out" or die "Can't open file: $!\n"; print FILE @a; close FILE; } });
Results:
Benchmark: timing 100 iterations of array, forloop... array: 28 wallclock secs (22.62 usr + 2.74 sys = 25.36 CPU) @ 3 +.94/s (n=100) forloop: 69 wallclock secs (61.52 usr + 2.75 sys = 64.27 CPU) @ 1 +.56/s (n=100) Rate forloop array forloop 1.56/s -- -61% array 3.94/s 153% --

-- Mike

--
just,my${.02}