#!/usr/bin/perl -w use strict; my $string = "firstfield second field KNOWNWORD alwaysOneWord then one or more make the last field"; my $field1 = ( split / /, $string)[0]; my $field2 = substr($string, length("$field1 "), index($string, "KNOWNWORD") - length("$field1 ")); my @temp = split / /, substr($string, index($string, "KNOWNWORD")+length("KNOWNWORD")); my $field3 = $temp[1]; my $field4 = join ' ', @temp[2..$#temp]; print "field1: $field1\n"; print "field2: $field2\n"; print "field3: $field3\n"; print "field4: $field4\n";