in reply to What difference do the brackets make?

In your example, '>' has a higher precendence than '?:', as documented in perlop. You don't technically need the brackets in this case, but there are examples of where they are vitally important:
print $lines = $some_value? 'true' : 'false';
In this case, since '=' has a lower precendence, what actually gets evaluated is:
print $lines = ($some_value? 'true' : 'false');
This means $lines gets assigned a value of either 'true' or 'false'.
print ($lines = $some_value)? 'true' : 'false';
This actually assigns the proper value to $lines and prints accordingly.

For the sake of clarity, sometimes it's a good idea to just put the brackets in there anyway. Some editors allow you to bounce between bracket pairs, which can help when navigating complex conditions.

Update:
As Anarion is quick to point out, that last example is actually defective. It should be:
print (($lines = $some_value)? 'true' : 'false');
I think it was being parsed as something like:
(print $lines = $some_value)? 'true' : 'false';