#!/usr/local/stow/perl-5.6.1/bin/perl -w use GDBM_File; my $portlist = "/dfs/umaint/stow/UMno/libdata/portlist"; my %ports; tie(%ports,'GDBM_File','gdbmtest',&GDBM_NEWDB,0644) or die "$!\n"; open(PL, $portlist) or die "$!\n"; while() { chomp; next if(/^\#/ || $_ eq ""); my ($switch,$ifnum,$trunk,$desc) = split(/:/); my ($generated,$conn,$notes) = split(/\s(\+|-|!)\s*/,$desc); my ($ifname,$vlan,$host) = split(/\s/,$generated); $ports{"$switch:$ifnum"} = "$trunk:$ifname:$vlan:$host:$conn:$notes"; } untie(%ports) or warn "$!\n"; #### ^SW\232\316^D^D^D^H^D0^BXzr.pm. # Often these errors are actually occurring in the initialisation # C code of the extension XS file. Perl reports the error as being # in this perl code simply because this was the last perl code # it executed. my $libref = dl_load_file($file, 0) or do { require Carp; Carp::croak("Can't load '$file' for module $module: " . dl_error()); }; push(@dl_librefs,$libref); # record loaded object my @unresolved = dl_undef_symbols(); if (@unresolved) { require Carp; Carp::carp("Undefined symbols present after loading $file: @unresolved\n"); } my $boot_symbol_ref = dl_find_symbol($libref, $bootname) or do { require Carp; Carp::croak("Can't find '$bootname' symbol in $file\n"); }; my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file); push(@dl_modules, $module); # record loaded module # See comment block above return &$xs(@_); retry: require DynaLoader;