27 lines
827 B
Perl
27 lines
827 B
Perl
#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;
|
|
} |