Mega Code Archive

 
Categories / Perl / Subroutine
 

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