Comments (2)
maybe i just don't understand Perl but why is
print;
okay but notdie;
. i need to usedie();
for it not to complain.
This is indeed a bug. I've marked this ticket as such.
Also
print 'example'
is okay even though "All subroutines must use parentheses".
print
(and die
) are not "subroutines," they are "keywords." Keywords are the reserved barewords provided by the language, also referred to as "builtins" or "builtin functions." They do not need parenthesis by default because we are aware of their parsing rules.
User-created functions ("subroutines") require parenthesis so we can adequately figure out how to lex and parse them. Subroutine prototypes allow the user to give the perl lexer additional parsing rules so it can avoid parenthesis but that makes it very difficult to statically parse because you need to go into compilation mode to introduce these new prototypes and understand them. This is why Guacamole doesn't support subroutine prototypes and requires all subroutines (user-provided functions) to include parenthesis.
from guacamole.
die
is now supported.
from guacamole.
Related Issues (20)
- Guacamole/standard does not work from command-line -M -e
- underscore filehandle is useful … why unsupported? HOT 1
- eval("string") does not parse HOT 3
- s///ee parses, but eval("") does not, and related topics HOT 9
- Quoting barewords with the negation operator not supported HOT 3
- s///e doesn't parse the replacement part HOT 4
- Doesn't support giving filehandle to readline HOT 1
- Is it a bug or how $#_ should be written instead? HOT 2
- binmode issue HOT 1
- 'for' loop issue HOT 1
- Documentation: source must be valid UTF-8 HOT 1
- LABEL not allowed in loop statements HOT 2
- Remove dependency on Path::Tiny HOT 2
- Should "BuiltinFilehandle" be a legitimate Value?
- Support n-at-a-time iteration
- All keywords in builtin namespace
- defer block HOT 1
- Try/catch/finally syntax from 5.36
- declared references and reference aliasing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from guacamole.