freebsd-dev/gnu/usr.bin/perl/h2pl/mkvars
Garrett Wollman 7d22abd50c Convince Perl to that is is part of the system, as /usr/bin/perl (binary)
and /usr/share/perl (library).  The latter was chosen as analogous to other
directories already present in /usr/share, like /usr/share/groff_font and
(particularly) /usr/share/mk.
1994-10-27 23:16:54 +00:00

32 lines
685 B
Perl

#!/usr/bin/perl
require 'sizeof.ph';
$LIB = '/usr/share/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;
}
}
}