The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# not a real test suite! just an interactive "you give me da
# name, I show ya how it splits up" driver.

use strict;
use Term::ReadLine;
use Text::BibTeX;
use Text::BibTeX::Name;

sub show_name
{
   my $str = shift;
   my $name = new Text::BibTeX::Name $str;
   my $part;

   foreach $part (qw(first last von jr))
   {
      my @tokens = $name->part ($part);
      printf "   %-5s => (%s)\n",
             $part,
             join (", ", map (qq["$_"], @tokens));
   }
}

my $rl = new Term::ReadLine 'BibTeX name splitter';
while (defined ($_ = $rl->readline (">> ")))
{
   show_name ($_);
}