#!/usr/bin/perl use strict; use warnings FATAL => qw(all); my @lines = ( 'brown vihl729 172.31.176.71:8532503_6 (v2013.02) (elicserv1.muc.ifin.com/3120 6260), start Mon 3/11 18:31', 'stephen blrl267 172.20.150.73:233707_1 (v2) (elicserv2.muc.ifin.com/3120 4789), start Tue 3/12 6:32 ', 'martin vihlc295 172.31.176.73:33228361_1 (v2012.11) (elicserv1.muc.ifin.com/3120 4152), start Wed 3/6 12:08 ', ); foreach my $line (@lines) { my ($user, $d1, $d2, $version, $server, $d3, $s, $date) = split /\s+/, $line, 8; for ($version, $server) { s/^\(//; s/\)$//; s#/.+$##; } print "user: $user version: $version server: $server date: $date\n"; }