-#!/usr/bin/perl
+#!/usr/bin/perl -w
+use strict;
-unlink "keywords.h";
-open(KW, ">keywords.h") || die "Can't create keywords.h: $!\n";
-select KW;
+require 'regen_lib.pl';
+
+my $kw = safer_open("keywords.h-new");
+select $kw;
+
+print <<EOM;
+/* -*- buffer-read-only: t -*-
+ *
+ * keywords.h
+ *
+ * Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2005,
+ * 2006, 2007, by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by keywords.pl from its data. Any changes made here
+ * will be lost!
+ */
+EOM
# Read & print data.
-$keynum = 0;
+my $keynum = 0;
while (<DATA>) {
chop;
next unless $_;
next if /^#/;
- ($keyword) = split;
+ my ($keyword) = split;
print &tab(5, "#define KEY_$keyword"), $keynum++, "\n";
}
+print $kw "\n/* ex: set ro: */\n";
+
+safer_close($kw);
+
+rename_if_different("keywords.h-new", "keywords.h");
+
###########################################################################
sub tab {
- local($l, $t) = @_;
+ my ($l, $t) = @_;
$t .= "\t" x ($l - (length($t) + 1) / 8);
$t;
}
__END__
AUTOLOAD
BEGIN
+UNITCHECK
CORE
DESTROY
END
-EQ
-GE
-GT
INIT
-LE
-LT
-NE
CHECK
abs
accept
bind
binmode
bless
+break
caller
chdir
chmod
crypt
dbmclose
dbmopen
+default
defined
delete
die
getservent
getsockname
getsockopt
+given
glob
gmtime
goto
rindex
rmdir
s
+say
scalar
seek
seekdir
sqrt
srand
stat
+state
study
sub
substr
waitpid
wantarray
warn
+when
while
write
x