# Each data point is stored in a separate file, so they have # to be joined first. I figure the shell is faster at that # than perl. That and I wasn't excited about managing # n file handles at a time, though it wouldn't be too bad. my @lines = `join file1 file2 file3 file4`; foreach my $line (@lines) { my ($time, @data) = split /\s+/, $line; foreach my $datum (@data) { # unlock the secrets of the universe } }