in reply to Another array thing - split two fields into one

Instead of using split, you could capture the parts into $1 and $2 via a regex:
use strict; use warnings; use Data::Dumper; my @array; while (<DATA>) { my ($time,$id) = /([\d:.]+)\D+(\d+)/; push @array, "$id:$time"; } print Dumper \@array; __DATA__ 00:00:00.20 - blah blah perl him me it they 0223503 blah blah blah 00:00:00.30 - blah blah perl him me it they 0223504 blah blah blah
UPDATE:
OK, i see what's going on. You split up the line and get back the parts you want, but when you push them to the array, you are pushing a list, not a single value. Try this:
while (<IN>) { push @array, join('#',(split)[9, 0]); }
or more cleverly:
my @array = map join('#',(split)[9, 0]), <IN>;
NOTE:
This reply was originally posted to (DUPE) Splitting two columns into an array. The last two code snippets above joined on a colon (:), which i changed to a pound sign (#) for this question.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)