#!/sw/bin/perl
##
##   unrequire -- recursive filter to substitute each Perl
##                'require' command with the contents of the file
##   Copyright (c) Ralf S. Engelschall, <rse@en.muc.de>
##
##   Usage: unrequire file.pl >file
##

sub ProcessFile {
    my ($file) = @_;

    open($file, "<$file");
    while(<$file>) {
        #   include a file
        if (m|^(.*)require[ \"\(]+([^ \"\(]+)[ \"\)]+;(.*)$|) {
            print $1;
            &ProcessFile($2);
            print $3;
            next;
        }
        #   remove a require result code
        if (m|^1;$|) {
            next;
        }
        print;
    }
    close($file);
}

&ProcessFile($ARGV[0]);

##EOF##
