in reply to Parse error with subroutines and <
I don't think the issue is that the constants are inlined when you've given the () prototype, it's that it knows not to expect any arguments. Because it doesn't know how many arguments to expect (since you haven't prototyped and you're not using parens to demarcate where the argument list starts and stops) Perl thinks it's looking for a LIST of EXPRs to pass as arguments to your sub. You can also unconfuzzle by explicitly giving empty parens after your subroutine name (e.g. AL_CORP_MIN()).
Update: Not that I don't agree that it's a little non-intuitive at first glance, and although I understand why it's working this way I can't come up with a better explanation that above offhand.
The cake is a lie.
The cake is a lie.
The cake is a lie.
|
|---|