Perl | wantarray() Function Last Updated : 11 Jul, 2025 Comments Improve Suggest changes Like Article Like Report wantarray() function in Perl returns True if the currently executing subroutine expects to return a list value, and false if it is looking for a scalar value. Syntax: wantarray() Returns: true for list value and false for scalar values Example 1: Perl #!/usr/bin/perl -w # Subroutine to call wantarray() function sub geeks { return(wantarray() ? ("Geeks", "For", "Geeks") : 1); } # Calling the subroutine # in scalar and array context $value = geeks(); @value = geeks(); # Printing the values in both contexts print("Value in Scalar context: $value\n"); print("Value in List Context: @value"); Output: Value in Scalar context: 1 Value in List Context: Geeks For Geeks Example 2: Perl #!/usr/bin/perl -w # Subroutine to call wantarray() function sub geeks { if(wantarray()) { # Addition of two numbers when # wantarray() function is called # in list context $c = $a + $b; } else { # When wantarray() is called # in Scalar context return 1; } } # Driver Code $a = 10; $b = 20; $c = 0; # Calling Subroutine in scalar and list contexts $value = geeks($a, $b); @value = geeks($a, $b); # Printing values in both the contexts print("Value when called in Scalar context: $value\n"); print("Value when called in List Context: @value"); Output: Value when called in Scalar context: 1 Value when called in List Context: 30 Create Quiz Comment C Code_Mech Follow 0 Improve C Code_Mech Follow 0 Improve Article Tags : Perl Perl-function Perl-Array-Functions Explore BasicsPerl Programming Language2 min readIntroduction to Perl7 min readPerl Installation and Environment Setup in Windows, Linux, and MacOS3 min readPerl | Basic Syntax of a Perl Program10 min readHello World Program in Perl3 min readFundamentalsPerl | Data Types3 min readPerl | Boolean Values3 min readPerl | Operators | Set - 112 min readPerl | Operators | Set - 27 min readPerl | Variables4 min readPerl | Modules3 min readPackages in Perl4 min readControl FlowPerl | Decision Making (if, if-else, Nestedâif, if-elsif ladder, unless, unless-else, unless-elsif)6 min readPerl | Loops (for, foreach, while, do...while, until, Nested loops)7 min readPerl | given-when Statement4 min readPerl | goto statement3 min readArrays & ListsPerl | Arrays6 min readPerl | Array Slices3 min readPerl | Arrays (push, pop, shift, unshift)3 min readPerl List and its Types4 min readHashPerl Hash4 min readPerl | Hash Operations8 min readPerl | Multidimensional Hashes6 min readScalarsPerl | Scalars2 min readPerl | Comparing Scalars6 min readPerl | scalar keyword2 min readStringsPerl | Quoted, Interpolated and Escaped Strings4 min readPerl | String Operators4 min readPerl | String functions (length, lc, uc, index, rindex)4 min readOOP ConceptsObject Oriented Programming (OOPs) in Perl7 min readPerl | Classes in OOP6 min readPerl | Objects in OOPs6 min readPerl | Methods in OOPs5 min readPerl | Constructors and Destructors4 min readPerl | Method Overriding in OOPs6 min readPerl | Inheritance in OOPs7 min readPerl | Polymorphism in OOPs4 min readPerl | Encapsulation in OOPs6 min readRegular ExpressionsPerl | Regular Expressions2 min readPerl | Operators in Regular Expression4 min readPerl | Regex Character Classes3 min readPerl | Quantifiers in Regular Expression4 min readFile HandlingPerl | File Handling Introduction7 min readPerl | Opening and Reading a File4 min readPerl | Writing to a File3 min readPerl | Useful File-handling functions2 min read Like