sub foo { wantarray() ? 10 : 1; } print 'Scalar context: '; print ''. foo(); print ', '; print foo() . "\n"; print 'List context: '; print "@{[foo()]}, "; print "${\foo()}\n"; print 'Scalar context: '; print "@{[scalar(foo())]}, "; print "${\scalar(foo())}\n"; __END__ Produces: Scalar context: 1, 1 List context: 10, 10 Scalar context: 1, 1