4.4BSD/usr/src/contrib/perl-4.036/h2pl/mkvars

#!/usr/bin/perl

require 'sizeof.ph';

$LIB = '/usr/local/lib/perl';

foreach $include (@ARGV) {
    printf STDERR "including %s\n", $include;
    do $include;
    warn "sourcing $include: $@\n" if ($@);
    if (!open (INCLUDE,"$LIB/$include")) {
	warn "can't open $LIB/$include: $!\n"; 
	next; 
    } 
    while (<INCLUDE>) {
	chop;
	if (/^\s*eval\s+'sub\s+(\w+)\s.*[^{]$/ || /^\s*sub\s+(\w+)\s.*[^{]$/) {
	    $var = $1;
	    $val = eval "&$var;";
	    if ($@) {
		warn "$@: $_";
		print <<EOT;
warn "\$$var isn't correctly set" if defined \$_main{'$var'};
EOT
		next;
	    } 
	    ( $nval = sprintf ("%x",$val ) ) =~ tr/a-z/A-Z/;
	    printf "\$%s = 0x%s;\n", $var, $nval;
	} 
    }
}