@lines = ('Foo9 NA1234 blah blah blah', 'Bar8 NA2345 blah blah blah', 'Baz7 NA3456 blah blah blah'); foreach my $line (@lines) { next unless $line =~ m{^(\S+) NA(\d+) (.*)}; my ($site, $userID, $data) = ($1, $2, $3); print "SITE: $site USER: $userID DATA: $data\n"; }