#!usr/bin/perl -w use strict; while ( my $line =() ) { my @tokens = my ($ip,$date,$time,$number,$text)= $line =~ m/^(\S+)\s*(\S+)\s*(\S+)\s*(\S+)\s*(.*)$/; print "Line =\t$line"; foreach my $token (@tokens) { print "\t$token\n"; } } ########### Output ################### #Line = 10.30.147.23 2009-06-15 09:04:47 1245053087 Help for Hospices no-email no-comment # 10.30.147.23 # 2009-06-15 # 09:04:47 # 1245053087 # Help for Hospices no-email no-comment #Line = 192.9.200.49 2009-06-15 09:04:50 1245053090 Alzheimer's Society/Alzheimer Scotland no-email no-comment # 192.9.200.49 # 2009-06-15 # 09:04:50 # 1245053090 # Alzheimer's Society/Alzheimer Scotland no-email no-comment #Line = 10.30.117.36 2009-06-15 09:04:50 1245053090 Help for Hospices no-email no-comment # 10.30.117.36 # 2009-06-15 # 09:04:50 # 1245053090 # Help for Hospices no-email no-comment #Line = 10.30.135.9 2009-06-15 09:04:50 1245053090 NSPCC Childline no-email no-comment # 10.30.135.9 # 2009-06-15 # 09:04:50 # 1245053090 # NSPCC Childline no-email no-comment #Line = 10.30.198.18 2009-06-15 09:04:59 1245053099 Help for Hospices no-email no-comment # 10.30.198.18 # 2009-06-15 # 09:04:59 # 1245053099 # Help for Hospices no-email no-comment __DATA__ 10.30.147.23 2009-06-15 09:04:47 1245053087 Help for Hospices no-email no-comment 192.9.200.49 2009-06-15 09:04:50 1245053090 Alzheimer's Society/Alzheimer Scotland no-email no-comment 10.30.117.36 2009-06-15 09:04:50 1245053090 Help for Hospices no-email no-comment 10.30.135.9 2009-06-15 09:04:50 1245053090 NSPCC Childline no-email no-comment 10.30.198.18 2009-06-15 09:04:59 1245053099 Help for Hospices no-email no-comment