use strict; if ($reporter !~ m/(\w+)\s*(.*)/) { die "Name should be in wrong format"; } else { $first = $1; $last = $2; #remove leading/trailing whitespace foreach ($first,$last) { s/^\s+//; s/\s+$//; } if ($first !~ m/[A-Za-z]/) { die "First name should only contain letters!"; } if ($last =~ m/\d/g) { die "Surname should only contain letters, hyphens and apostrophes!"; } elsif ($last =~ m/([A-Za-z\'\-]+)/) { $surname = $1; } elsif ($last =~ m/(\w+)\s*(\w+)/) { $surname = join(' ', $1, $3); } else { die "Wrong format in surname!"; }