#!/usr/bin/env perl use strict; use warnings; use autodie; my $data_file = 'data_000.txt'; my $re = qr{^([^0-9-]+?)\s+([0-9-][ 0-9.-]+?)\s*$}; my @data; open my $fh, '<', $data_file; while (<$fh>) { next unless /$re/; my ($site, $info) = ($1, $2); $info =~ y/ /\t/s; push @data, join "\t", $site, $info; } # For demo only use Data::Dump; dd \@data;