The wantarray Function and User-Defined Subroutines : wantarray « Subroutine « Perl

Home
Perl
1.Array
2.CGI
3.Class
4.Data Type
5.Database
6.File
7.GUI
8.Hash
9.Language Basics
10.Network
11.Regular Expression
12.Report
13.Statement
14.String
15.Subroutine
16.System Functions
17.Win32
18.XML
Perl » Subroutine » wantarray 




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
1.wantarray() returns true if caller wants list, false if caller wants scalar, and an undefined value if the caller wants nothing.
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.