#!/usr/bin/perl use strict; my $searchdir = "src"; my $require = "ΒΆ"; ############ sub get_code ############ { my $file = $_[0]; my $path = ""; open(p, "find share -name $file |"); $path =

; close(p); if($path eq "") { print stderr "$file not found in ISISscripts"; return qq($require("$file");); } my $code = ""; open(F, "< $path"); while() { $code .= $_; } close(F); print stderr "including $file"; return $code; } ########### sub decoded ########### { my $code = $_[0]; $code =~ s/$require/require/g; return $code; } ######################################################################## my $code = ""; open(p, "find $searchdir " . q(-name \*.sl | sed 's|.*/||' | sort |)); while(

) { chomp($_); $code .= "require(\"$_\");\n"; } close(p); my %featurep; my $i = 1; while($code =~ /require\("([^\"]*.sl)"\);/) { my ($code_before, $file, $code_after) = ($`, $1, $'); printf(stderr "require(\"$file\");\n %03d: ", $i); if($featurep{$file}) { print stderr "already included"; } $code = $code_before . ($featurep{$file} ? "" : get_code($file)) . $code_after; print stderr "\n"; # open(F, sprintf("> isisscripts.%03d.sl", $i)); # print F decoded($code); # close(F); $featurep{$file} = 1; $i++; } print decoded($code);