-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild
More file actions
executable file
·68 lines (59 loc) · 1.41 KB
/
build
File metadata and controls
executable file
·68 lines (59 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#! /usr/bin/perl -w
$NumPuzzles = 7;
sub include_pages {
my ($filename) = @_;
local $/;
open(PUZ, $filename) || die "Can't open $filename: $!";
$page = <PUZ>; # slurp
close PUZ;
for (1..$NumPuzzles) {
$thispage = $page;
# Perform various substitutions on $page
#
$thispage =~ s/IDPUZZLE/$_/g;
$thispage =~ s/IDGRID/grid$_/g;
$thispage =~ s/IDFOUND/found$_/g;
$thispage =~ s/IDPERCENT/percent$_/g;
$thispage =~ s/IDSOLUTION/solution$_/g;
$thispage =~ s/IDNUM/$NumPuzzles/g;
print $thispage;
}
}
sub include_javascript {
my ($filename) = @_;
# print "include_javascript $filename\n";
open(F, "$filename") || die;
while (<F>) {
next if /debugging/; # remove instrumentation
if (/BEGIN/../END/) {
s/_STANDALONE = .*/_STANDALONE = 0;/;
print;
}
}
close F;
}
while (<>) {
s/IDNUM/$NumPuzzles/g;
s/DESCRIPTION/free printable boggle worksheets and boggle boards with solutions/;
if (/PAGES/) {
include_pages("puzzle.tem");
}
elsif (/SOLUTION/) {
include_pages("solution.tem");
}
elsif (/RANDSFC32/) {
include_javascript("rand-sfc32.js");
}
elsif (/BOGGLE/) {
include_javascript("boggle.js");
}
elsif (/SOLVER/) {
include_javascript("solver.js");
}
elsif (/HIST/) {
include_javascript("History.js");
}
else {
print;
}
}