in reply to why does sort with uniq not work together
The + is the unary plus operator. It does nothing, but can be used to disambiguate a first argument. For example:
print (1 + 2) . "\n";
You might expect that to be roughly the same as print "3\n", but it's actually more like my $tmp = print 3; $tmp . "\n". The line break doesn't get printed; it gets concatenated to the return value of the print function. That is, it's parsed like:
(print(1+1)) . "\n";
The unary plus helps Perl notice that something is an argument to the preceding function:
print +(1 + 2) . "\n";
Unary plus can also be useful in disambiguating +{} (a hashref) from { } (an empty block of code).
See Symbolic Unary Operators in perlop.
use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
|
---|
In Section
Seekers of Perl Wisdom