summaryrefslogtreecommitdiff
path: root/perly.c
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2014-02-01 01:27:13 +0000
committerZefram <zefram@fysh.org>2014-02-01 01:27:15 +0000
commit30d9c59b5f3cba8b5d632d20c2370e82d8ba69ca (patch)
tree989db43c82b395cec053b341532db7a145827254 /perly.c
parentef463b6d87c1ce4e4946bdf785d47e481c1f33f2 (diff)
downloadperl-30d9c59b5f3cba8b5d632d20c2370e82d8ba69ca.tar.gz
subroutine signatures
Declarative syntax to unwrap argument list into lexical variables. "sub foo ($a,$b) {...}" checks number of arguments and puts the arguments into lexical variables. Signatures are not equivalent to the existing idiom of "sub foo { my($a,$b) = @_; ... }". Signatures are only available by enabling a non-default feature, and generate warnings about being experimental. The syntactic clash with prototypes is managed by disabling the short prototype syntax when signatures are enabled.
Diffstat (limited to 'perly.c')
-rw-r--r--perly.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/perly.c b/perly.c
index d8eedf2652..a7115b3625 100644
--- a/perly.c
+++ b/perly.c
@@ -28,6 +28,7 @@
#include "EXTERN.h"
#define PERL_IN_PERLY_C
#include "perl.h"
+#include "feature.h"
typedef unsigned char yytype_uint8;
typedef signed char yytype_int8;