Putting the call inside a @{[ ... ]} construct does something different.
print "[@{ [ scalar test('abc') ] }]\n";
print "[", scalar test('abc'), "]\n\n";
print "[@{ [ test('abc') ] }]\n";
print "[", test('abc'), "]\n\n";
print "[@{ [ scalar test('123') ] }]\n";
print "[", scalar test('123'), "]\n\n";
print "[@{ [ test('123') ] }]\n";
print "[", test('123'), "]\n";
sub test
{
my @rv = $_[0] =~ /^([0-9]+)$/;
return @rv[ 0 .. $#rv ];
}
produces
[ ]
[[]
[]
[]
[123]
[123]
[123]
[123]
Running 5.8.4 on Solaris 9. Cheers, JohnGG |