#!/usr/bin/perl
use strict;
my $delim = "ß";
############
sub get_code
############
{
my $file = $_[0];
open(p, "find share -name $file |");
$file =
;
close(p);
my $code = "";
open(F, "< $file");
while()
{ chomp($_);
$code .= "$_$delim";
}
close(F);
if($code eq "")
{ return qq(require("$file");"); }
print stderr "*** including $file";
return $code;
}
########################################################################
my $code = get_code("$ARGV[0].sl");
my %featurep;
while($code =~ /(.*)require\("(.*.sl)"\);(.*)/)
{ my ($code_before, $file, $code_after) = ($1, $2, $3);
print $code_before . "|";
$code = $code_before . ( $featurep{$file} ? "" : get_code($file) ) . $code_after;
$featurep{$file} = 1;
}
$code =~ s/$delim/\n/g;
print $code;