Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to take the first name from a person’s full name with two possibly cases.
First case if the person’s name is like: SMITH, A DOE
This one could be done like this, unless there is a better way:
But if the person’s name is as this: BULLOCK JOE A
It can be done like this, unless there is a better way:
My goal is to get this line of code to work for both, no luck, any suggestions?
Test code:
This one could be done like this, unless there is a better way:
$mystring = ($mystring =~ /(\w{3,})$/) ? $1 : ''; Print “DOE”;
But if the person’s name is as this: BULLOCK JOE A
It can be done like this, unless there is a better way:
$mystring = ($mystring =~ / (\w{1,2}\s)(\w+)$/) ? $2 : ''; Print “JOE”;
My goal is to get this line of code to work for both, no luck, any suggestions?
$mystring = ($mystring =~ /(\w{1}\s\w+)|(\w{3,})$/) ? $1 : ''; print "\n $mystring\n";
Test code:
Thanks for looking!#!/usr/bin/perl use strict; use warnings; #my $mystring = "SMITH, A DOE"; my $mystring = "BULLOCK JOE A"; if($mystring =~ /(\w{3,})$/) { print "\n\n $1\n\n"; }elsif($mystring =~ /(\w{1,2}\s)(\w+)$/) { print "\n\n $2\n\n"; }
Back to
Seekers of Perl Wisdom