in reply to regex needed

You are matching what you want, you are just not capturing it. When you print $_;</code $_ still has the value assigned to it by <code>while (<DATA>). You need to tell the regexp what you want out of what it matches, by putting brackets around it: /\[([\d.]+?)\]\s+\[([\d.]+?)\]/ and then referencing it with $1, $2, etc.
eg: print "Matched $1 and $2.\n";