Last active
August 29, 2015 13:58
-
-
Save MelanieS/10009512 to your computer and use it in GitHub Desktop.
Sanitizes user input (names) and prints out in form of "First M. Last"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
use strict; | |
use warnings; | |
#Prints out the name in a "sanitized" form of "First M. Last"; that is, first name, space, middle initial, period, space, last name. | |
#If there is no middle name, prints the letter X with no period following it. | |
#If there are multiple middle names, uses the initial of the first one. | |
my $name = "Melanie Aurelia Shebel"; | |
my @names = split ' ', $name; | |
my $first_name = shift @names; | |
my $last_name = pop @names; | |
my $middle_name = shift @names; | |
my $middle_initial; | |
if ($middle_name eq false) | |
{ | |
$middle_initial = 'X'; | |
print "$first_name $middle_initial $last_name", "\n"; | |
} | |
else | |
{ | |
$middle_initial = substr($middle_name, 0, 1); | |
print "$first_name $middle_initial. $last_name", "\n"; | |
} | |
$name = "Walter H. White"; | |
@names = split ' ', $name; | |
$first_name = shift @names; | |
$last_name = pop @names; | |
$middle_name = shift @names; | |
if ($middle_name eq undef) | |
{ | |
$middle_initial = 'X'; | |
print "$first_name $middle_initial $last_name", "\n"; | |
} | |
else | |
{ | |
$middle_initial = substr($middle_name, 0, 1); | |
print "$first_name $middle_initial. $last_name", "\n"; | |
} | |
$name = "Albert Einstein"; | |
@names = split ' ', $name; | |
$first_name = shift @names; | |
$last_name = pop @names; | |
$middle_name = shift @names; | |
if ($middle_name eq undef) | |
{ | |
$middle_initial = 'X'; | |
print "$first_name $middle_initial $last_name", "\n"; | |
} | |
else | |
{ | |
$middle_initial = substr($middle_name, 0, 1); | |
print "$first_name $middle_initial. $last_name", "\n"; | |
} | |
$name = "John Jacob Jingleheimer Schmitt"; | |
@names = split ' ', $name; | |
$first_name = shift @names; | |
$last_name = pop @names; | |
$middle_name = shift @names; | |
if ($middle_name eq undef) | |
{ | |
$middle_initial = 'X'; | |
print "$first_name $middle_initial $last_name", "\n"; | |
} | |
else | |
{ | |
$middle_initial = substr($middle_name, 0, 1); | |
print "$first_name $middle_initial. $last_name", "\n"; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment