As long as the "spacer" characters are not alphabetic the task is, surely, simple:
$input_str =~ s/\W+/ /g;
$db_str =~ s/\W+/ /g;
if(lc($input_str) eq lc($db_str))
...
Of course in the real case you will also want to remove spaces at the start and end of the string etc.
In the production case this is a much more difficult problem
since you will also want to find:
MaggieSmith
Magie Smythe
M Smith
Marge Smith
Maggie J Smith
etc
In a real case good name matching is not trivial and almost always needs fuzzy matching with some combination of Soundex, known alaises and clever processing. There is stuff about this in other nodes.