The wantarray Function and User-Defined Subroutines
#When you want a subroutine to behave in a certain way based on the context in which it was called.
#!/usr/bin/perl
print "Name? ";
chomp($fullname=<STDIN>);
@arrayname = title($fullname); # Context is array
print "$arrayname[0] / $arrayname[2]!\n";
print "book name? ";
chomp($bookname=<STDIN>);
$scalarname = title($bookname); # Context is string
print "The book $arrayname[0] is reading is $scalarname.\n";
sub title{
my $text=shift;
my $newstring;
my$text=lc($text);
my @newtext=split(" ", $text);
foreach my $word ( @newtext ){
$word = ucfirst($word); # Capitalize the first letter
$newstring .= "$word ";
}
@newarray = split(" ", $newstring);
chop($newstring);# Remove trailing whitespace
return wantarray ? @newarray : $newstring;
}
Related examples in the same category