--- a/config/fixinterps.pl
+++ b/config/fixinterps.pl
@@ -15,13 +15,13 @@
 #               use the one in the samples directory)
 # 
 
-require 'getopts.pl' ;
+use Getopt::Std;
 
 $0 =~ s!.*/!! ;
 
 $usage = "$0 [ -v -n -q ][ -d dir ][ -f innshellvars.pl ][ -t topdir ] file...\n" ;
 
-&Getopts ("vnqd:f:h") || die $usage ;
+getopts("vnqd:f:h") || die $usage ;
 
 die $usage if $opt_h ;
 
@@ -151,20 +151,10 @@ sub perlVersion {
 
     return 0 if (! -x $perl) ;
 
-    open (PERL,"$perl -v|") || die "Can't check version of perl ($perl)\n";
-    while (<PERL>) {
-    	if (/^this\s+is\s+perl,\s+v(\d+\.\d+\.\d+)/i) {
-	    $rval = $1; last;
-	}
-	if (/^this\s+is\s+perl,\s+version\s+(\S+)/i) {
-	    $rval = $1;
-	}
-    }
-    close (PERL);
-    return $rval;
+    $rval = `$perl -MConfig -e 'print \$Config{version}'`;
 
-    if ($rval !~ /^\d+\.\d+(_\d+|)$/) {
-	warn "perl version from $perl looks suspicious: $rval\n";
+    if ($rval !~ /^\d+\.\d+(\.\d+|)$/) {
+	die "perl version from $perl looks suspicious: $rval\n";
     }
 
     return $rval;
--- a/samples/innlog.pl
+++ b/samples/innlog.pl
@@ -25,9 +25,9 @@ $[ = 1;			# set array base to 1 (hangove
 
 ($PROGNAME = $0) =~ s#.*/##;            # basename of what we're invoked as
 
-require "getopts.pl";
+use Getopt::Std;
 
-&Getopts("acdghn") || die("Usage $PROGNAME [-a] [-c] [-d] [-g] [-h] [-n]\
+getopts("acdghn") || die("Usage $PROGNAME [-a] [-c] [-d] [-g] [-h] [-n]\
 	-a	Print nnrp gethostbyaddr failures\
         -c      Print nnrp newsgroup requests by category\
         -d      Print nnrp summary by domain\
--- a/samples/scanspool
+++ b/samples/scanspool
@@ -94,7 +94,7 @@
 
 # perl requirements
 #
-require "getopts.pl";
+use Getopt::Std;
 
 # setup non-buffered stdout and stderr
 #
@@ -116,7 +116,7 @@ $reason = "running scanspool";		# thrott
 
 # parse args
 #
-&Getopts("a:s:vcn");
+getopts("a:s:vcn");
 $active = $opt_a if (defined($opt_a));
 $spool = $opt_s if (defined($opt_s));
 
