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;
|
||
|
}
|