Skip to content

Instantly share code, notes, and snippets.

@MelanieS
Last active August 29, 2015 13:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MelanieS/10009512 to your computer and use it in GitHub Desktop.
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"
#!/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