The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Changelog 023
MANIFEST 12
META.json 3351
META.yml 3230
Makefile.PL 67
V.pm 1668
t/01_pod.t 11
t/10_base.t 112
t/20_plv.t 570
t/20_plv510.t 056
t/21_plv518.t 0102
11 files changed (This is a version diff) 147352
@@ -1,3 +1,26 @@
+0.20	- 19 Feb 2014, H.Merijn Brand
+    * Update copyright to 2014
+    * Typo fix in comment (RT#92469)
+    * Sync up with blead
+
+0.19	- 30 Jul 2013, H.Merijn Brand
+    * TEST_REQUIRES was added in 6.63_03 (RT#85811)
+    * Removed duplicate entry (no visible change)
+
+0.18	- 24 May 2013, H.Merijn Brand
+    * Fixed typo in META (Chorny)
+    * Support for using uninstalled Test::NoWarnings (RT#82386)
+    * Sync up with perl-5.18.0 (and 5.19.0)
+
+0.17	- 10 Feb 2013, H.Merijn Brand
+    * Deal with spaces in patch descriptions
+
+0.16	- 25 Jan 2013, H.Merijn Brand
+    * Do not shell out on 5.14.0 and up if perl provides internals (Nicholas)
+    * Update copyright to 2013
+    * Update list of known symbols to 5.17.8
+    * Prevent tar paxheaders (http://www.perlmonks.org/?node_id=1004571)
+
 0.15	- 07 Jun 2012, H.Merijn Brand
     * Update copyright to 2012
     * Prepare for CORE inclusion (BinGOs)
@@ -6,7 +6,8 @@ V.pm
 t/00_pod.t
 t/01_pod.t
 t/10_base.t
-t/20_plv.t
+t/20_plv510.t
+t/21_plv518.t
 examples/show-v.pl
 META.yml                                 Module YAML meta-data (added by MakeMaker)
 META.json                                Module JSON meta-data (added by MakeMaker)
@@ -1,43 +1,61 @@
 {
-   "resources" : {
-      "repository" : "http://repo.or.cz/w/Config-Perl-V.git",
-      "license" : "http://dev.perl.org/licenses/"
-   },
-   "meta-spec" : {
-      "version" : 2,
-      "url" : "https://metacpan.org/module/CPAN::Meta::Spec?#meta-spec"
-   },
-   "test_requires" : {
-      "Test::More" : "0",
-      "Test::Harness" : "0",
-      "Test::NoWarnings" : "0"
-   },
-   "distribution_type" : "module",
-   "generated_by" : "Author",
-   "version" : "0.15",
    "name" : "Config-Perl-V",
+   "provides" : {
+      "Config::Perl::V" : {
+         "file" : "V.pm",
+         "version" : "0.20"
+      }
+   },
    "author" : [
       "H.Merijn Brand <h.m.brand@xs4all.nl>"
    ],
-   "license" : "perl",
-   "build_requires" : {
-      "perl" : "5.006"
-   },
-   "provides" : {
-      "Config::Perl::V" : {
-         "version" : "0.15",
-         "file" : "V.pm"
+   "resources" : {
+      "license" : [
+         "http://dev.perl.org/licenses/"
+      ],
+      "repository" : {
+         "web" : "http://repo.or.cz/w/Config-Perl-V.git",
+         "type" : "git",
+         "url" : "http://repo.or.cz/r/Config-Perl-V.git"
       }
    },
-   "requires" : {
-      "perl" : "5.006",
-      "Config" : "0"
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
    },
-   "recommends" : {
-      "perl" : "5.014001"
+   "abstract" : "Structured data retrieval of perl -V output",
+   "prereqs" : {
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "build" : {
+         "requires" : {
+            "perl" : "5.006"
+         }
+      },
+      "test" : {
+         "requires" : {
+            "Test::NoWarnings" : "0",
+            "Test::More" : "0"
+         }
+      },
+      "runtime" : {
+         "requires" : {
+            "perl" : "5.006",
+            "Config" : "0"
+         },
+         "recommends" : {
+            "perl" : "5.016003"
+         }
+      }
    },
-   "abstract" : "Structured data retreival of perl -V output",
-   "configure_requires" : {
-      "ExtUtils::MakeMaker" : "0"
-   }
+   "version" : "0.20",
+   "generated_by" : "Author",
+   "dynamic_config" : 1,
+   "release_status" : "stable",
+   "license" : [
+      "perl_5"
+   ]
 }
@@ -1,32 +1,30 @@
---- #YAML:1.0
-name:                    Config-Perl-V
-version:                 0.15
-abstract:                Structured data retreival of perl -V output
-license:                 perl
-author:              
-    - H.Merijn Brand <h.m.brand@xs4all.nl>
-generated_by:            Author
-distribution_type:       module
-provides:
-    Config::Perl::V:
-        file:            V.pm
-        version:         0.15
-requires:     
-    perl:                5.006
-    Config:              0
-recommends:
-    perl:                5.014001
-configure_requires:
-    ExtUtils::MakeMaker: 0
-build_requires:
-    perl:                5.006
-test_requires:
-    Test::Harness:       0
-    Test::More:          0
-    Test::NoWarnings:    0
-resources:
-    license:             http://dev.perl.org/licenses/
-    repository:          http://repo.or.cz/w/Config-Perl-V.git
-meta-spec:
-    version:             1.4
-    url:                 http://module-build.sourceforge.net/META-spec-v1.4.html
+--- 
+abstract: Structured data retrieval of perl -V output
+author: 
+  - H.Merijn Brand <h.m.brand@xs4all.nl>
+build_requires: 
+  perl: '5.006'
+configure_requires: 
+  ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: Author, CPAN::Meta::Converter version 2.133380
+license: perl
+meta-spec: 
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: '1.4'
+name: Config-Perl-V
+provides: 
+  Config::Perl::V: 
+    file: V.pm
+    version: '0.20'
+recommends: 
+  perl: '5.016003'
+requires: 
+  Config: 0
+  Test::More: 0
+  Test::NoWarnings: 0
+  perl: '5.006'
+resources: 
+  license: http://dev.perl.org/licenses/
+  repository: http://repo.or.cz/r/Config-Perl-V.git
+version: '0.20'
@@ -1,10 +1,11 @@
 #!/usr/bin/perl
 
-# Copyright PROCURA B.V. (c) 2009-2012 H.Merijn Brand
+# Copyright PROCURA B.V. (c) 2009-2014 H.Merijn Brand
 
 use strict;
 
 use ExtUtils::MakeMaker;
+my $eummv = $ExtUtils::MakeMaker::VERSION;
 
 my %wm = (
     NAME	  =>   "Config::Perl::V",
@@ -13,12 +14,12 @@ my %wm = (
     VERSION_FROM  =>   "V.pm",
     ABSTRACT_FROM =>   "V.pm",
 
-    PREREQ_PM	  => { "Config"			=> 0,
-		       "Test::More"		=> 0,
-		       "Test::NoWarnings"	=> 0,
-		       },
+    PREREQ_PM	  => { "Config"	=> 0,				},
+    macro         => { TARFLAGS => "--format=ustar -c -v -f",	},
     );
-$ExtUtils::MakeMaker::VERSION > 6.30 and $wm{LICENSE} = "perl";
+$eummv >= 6.31 and $wm{LICENSE} = "perl";
+my $section = $eummv >= 6.64 ? "TEST_REQUIRES" : "PREREQ_PM";
+$wm{$section}{$_} = 0 for qw( Test::More Test::NoWarnings );
 
 my $rv = WriteMakefile (%wm);
 
@@ -8,7 +8,7 @@ use warnings;
 use Config;
 use Exporter;
 use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-$VERSION     = "0.15";
+$VERSION     = "0.20";
 @ISA         = ("Exporter");
 @EXPORT_OK   = qw( plv2hash summary myconfig signature );
 %EXPORT_TAGS = (
@@ -22,25 +22,50 @@ $VERSION     = "0.15";
 
 # The list are as the perl binary has stored it in PL_bincompat_options
 #  search for it in
-#   perl.c line 1768 (first  block)
-#   perl.h line 4454 (second block),
+#   perl.c line 1643 S_Internals_V ()
+#     perl -ne'(/^S_Internals_V/../^}/)&&s/^\s+"( .*)"/$1/ and print' perl.c
+#   perl.h line 4566 PL_bincompat_options
+#     perl -ne'(/^\w.*PL_bincompat/../^\w}/)&&s/^\s+"( .*)"/$1/ and print' perl.h
 my %BTD = map { $_ => 0 } qw(
 
     DEBUGGING
     NO_MATHOMS
+    NO_HASH_SEED
+    NO_TAINT_SUPPORT
+    PERL_BOOL_AS_CHAR
     PERL_DISABLE_PMC
     PERL_DONT_CREATE_GVSV
+    PERL_EXTERNAL_GLOB
+    PERL_HASH_FUNC_SIPHASH
+    PERL_HASH_FUNC_SDBM
+    PERL_HASH_FUNC_DJB2
+    PERL_HASH_FUNC_SUPERFAST
+    PERL_HASH_FUNC_MURMUR3
+    PERL_HASH_FUNC_ONE_AT_A_TIME
+    PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
+    PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
     PERL_IS_MINIPERL
     PERL_MALLOC_WRAP
     PERL_MEM_LOG
     PERL_MEM_LOG_ENV
     PERL_MEM_LOG_ENV_FD
+    PERL_MEM_LOG_NOIMPL
     PERL_MEM_LOG_STDERR
     PERL_MEM_LOG_TIMESTAMP
+    PERL_NEW_COPY_ON_WRITE
+    PERL_PERTURB_KEYS_DETERMINISTIC
+    PERL_PERTURB_KEYS_DISABLED
+    PERL_PERTURB_KEYS_RANDOM
+    PERL_PRESERVE_IVUV
+    PERL_RELOCATABLE_INCPUSH
     PERL_USE_DEVEL
     PERL_USE_SAFE_PUTENV
+    UNLINK_ALL_VERSIONS
     USE_ATTRIBUTES_FOR_PERLIO
     USE_FAST_STDIO
+    USE_HASH_SEED_EXPLICIT
+    USE_LOCALE
+    USE_LOCALE_CTYPE
     USE_PERL_ATOF
     USE_SITECUSTOMIZE
 
@@ -48,17 +73,24 @@ my %BTD = map { $_ => 0 } qw(
     DEBUG_LEAKING_SCALARS_FORK_DUMP
     DECCRTL_SOCKETS
     FAKE_THREADS
+    FCRYPT
+    HAS_TIMES
+    HAVE_INTERP_INTERN
     MULTIPLICITY
     MYMALLOC
+    PERLIO_LAYERS
+    PERL_DEBUG_READONLY_COW
     PERL_DEBUG_READONLY_OPS
     PERL_GLOBAL_STRUCT
     PERL_IMPLICIT_CONTEXT
     PERL_IMPLICIT_SYS
     PERL_MAD
+    PERL_MICRO
     PERL_NEED_APPCTX
     PERL_NEED_TIMESBASE
     PERL_OLD_COPY_ON_WRITE
     PERL_POISON
+    PERL_SAWAMPERSAND
     PERL_TRACK_MEMPOOL
     PERL_USES_PL_PIDSTATUS
     PL_OP_SLAB_ALLOC
@@ -68,17 +100,20 @@ my %BTD = map { $_ => 0 } qw(
     USE_IEEE
     USE_ITHREADS
     USE_LARGE_FILES
+    USE_LOCALE_COLLATE
+    USE_LOCALE_NUMERIC
     USE_LONG_DOUBLE
     USE_PERLIO
     USE_REENTRANT_API
     USE_SFIO
     USE_SOCKS
     VMS_DO_SOCKETS
+    VMS_SHORTEN_LONG_SYMBOLS
     VMS_SYMBOL_CASE_AS_IS
     );
 
 # These are all the keys that are
-# 1. Always present in %Config (first block)
+# 1. Always present in %Config - lib/Config.pm #87 tie %Config
 # 2. Reported by 'perl -V' (the rest)
 my @config_vars = qw(
 
@@ -273,18 +308,35 @@ sub myconfig
     my %args = ref $args eq "HASH"  ? %$args :
                ref $args eq "ARRAY" ? @$args : ();
 
-    #y $pv = qx[$^X -e"sub Config::myconfig{};" -V];
-    my $pv = qx[$^X -V];
-       $pv =~ s{.*?\n\n}{}s;
-       $pv =~ s{\n(?:  \s+|\t\s*)}{ }g;
-
-    #print $pv;
-
     my $build = { %empty_build };
-    $pv =~ m{^\s+Built under (.*)}m                and $build->{osname} = $1;
-    $pv =~ m{^\s+Compiled at (.*)}m                and $build->{stamp}  = $1;
-    $pv =~ m{^\s+Locally applied patches:\s+(.*)}m and $build->{patches} = [ split m/\s+/, $1 ];
-    $pv =~ m{^\s+Compile-time options:\s+(.*)}m    and map { $build->{options}{$_} = 1 } split m/\s+/, $1;
+
+    # 5.14.0 and later provide all the information without shelling out
+    my $stamp = eval { Config::compile_date () };
+    if (defined $stamp) {
+	$stamp =~ s/^Compiled at //;
+	$build->{osname}      = $^O;
+	$build->{stamp}       = $stamp;
+	$build->{patches}     =     [ Config::local_patches () ];
+	$build->{options}{$_} = 1 for Config::bincompat_options (),
+				      Config::non_bincompat_options ();
+	}
+    else {
+	#y $pv = qx[$^X -e"sub Config::myconfig{};" -V];
+	my $pv = qx[$^X -V];
+	   $pv =~ s{.*?\n\n}{}s;
+	   $pv =~ s{\n(?:  \s+|\t\s*)}{\0}g;
+
+	# print STDERR $pv;
+
+	$pv =~ m{^\s+Built under\s+(.*)}m
+	    and $build->{osname}  = $1;
+	$pv =~ m{^\s+Compiled at\s+(.*)}m
+	    and $build->{stamp}   = $1;
+	$pv =~ m{^\s+Locally applied patches:(?:\s+|\0)(.*)}m
+	    and $build->{patches} = [ split m/\0+/, $1 ];
+	$pv =~ m{^\s+Compile-time options:(?:\s+|\0)(.*)}m
+	    and map { $build->{options}{$_} = 1 } split m/\s+|\0/ => $1;
+	}
 
     my @KEYS = keys %ENV;
     my %env  =
@@ -470,7 +522,7 @@ H.Merijn Brand <h.m.brand@xs4all.nl>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2009-2012 H.Merijn Brand
+Copyright (C) 2009-2014 H.Merijn Brand
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
@@ -3,5 +3,5 @@
 use Test::More;
 
 eval "use Test::Pod::Coverage tests => 1";
-plan skip_all => "Test::Pod::Covarage required for testing POD Coverage" if $@;
+plan skip_all => "Test::Pod::Coverage required for testing POD Coverage" if $@;
 pod_coverage_ok ("Config::Perl::V", "Config::Perl::V is covered");
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 7;
+    my $tests = 9;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -22,3 +22,14 @@ for (qw( build environment config inc )) {
     ok (exists $conf->{build},			"Has build entry");
     }
 is (lc $conf->{build}{osname}, lc $conf->{config}{osname}, "osname");
+
+SKIP: {
+    # Test that the code that shells out to perl -V and parses the output
+    # gives the same results as the code that calls Config::* routines directly.
+    defined &Config::compile_date or
+	skip "This perl doesn't provide perl -V in the Config module", 2;
+    eval q{no warnings "redefine"; sub Config::compile_date { return undef }};
+    is (Config::compile_date (), undef, "Successfully overriden compile_date");
+    is_deeply (Config::Perl::V::myconfig, $conf,
+	"perl -V parsing code produces same result as the Config module");
+    }
@@ -1,57 +0,0 @@
-#!/pro/bin/perl
-
-use strict;
-use warnings;
-
-BEGIN {
-    use Test::More;
-    my $tests = 8;
-    unless ($ENV{PERL_CORE}) {
-	require Test::NoWarnings;
-	Test::NoWarnings->import ();
-	$tests++;
-	}
-
-    plan tests => $tests;
-    }
-
-use Config::Perl::V;
-
-ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
-for (qw( build environment config inc )) {
-    ok (exists $conf->{build},			"Has build entry");
-    }
-is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
-is ($conf->{build}{stamp}, 0, "No build time known");
-is ($conf->{config}{version}, "5.10.0", "reconstructed \%Config{version}");
-
-__END__
-Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
-  Platform:
-    osname=linux, osvers=2.6.22.13-0.3-default, archname=i686-linux-64int
-    uname='linux nb09 2.6.22.13-0.3-default #1 smp 20071119 15:02:58 utc i686 i686 i386 gnulinux '
-    config_args='-Duse64bitint -des'
-    hint=recommended, useposix=true, d_sigaction=define
-    useithreads=undef, usemultiplicity=undef
-    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
-    use64bitint=define, use64bitall=undef, uselongdouble=undef
-    usemymalloc=n, bincompat5005=undef
-  Compiler:
-    cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
-    optimize='-O2 -g',
-    cppflags='-fno-strict-aliasing -pipe -I/pro/local/include'
-    ccversion='', gccversion='4.2.1 (SUSE Linux)', gccosandvers=''
-    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
-    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
-    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
-    alignbytes=4, prototype=define
-  Linker and Libraries:
-    ld='cc', ldflags ='-L/pro/local/lib'
-    libpth=/pro/local/lib /lib /usr/lib /usr/local/lib
-    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
-    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
-    libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a
-    gnulibc_version='2.6.1'
-  Dynamic Linking:
-    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
-    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/pro/local/lib'
@@ -0,0 +1,56 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 8;
+    unless ($ENV{PERL_CORE}) {
+	require Test::NoWarnings;
+	Test::NoWarnings->import ();
+	$tests++;
+	}
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V;
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, 0, "No build time known");
+is ($conf->{config}{version}, "5.10.0", "reconstructed \%Config{version}");
+
+__END__
+Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
+  Platform:
+    osname=linux, osvers=2.6.22.13-0.3-default, archname=i686-linux-64int
+    uname='linux nb09 2.6.22.13-0.3-default #1 smp 20071119 15:02:58 utc i686 i686 i386 gnulinux '
+    config_args='-Duse64bitint -des'
+    hint=recommended, useposix=true, d_sigaction=define
+    useithreads=undef, usemultiplicity=undef
+    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
+    use64bitint=define, use64bitall=undef, uselongdouble=undef
+    usemymalloc=n, bincompat5005=undef
+  Compiler:
+    cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
+    optimize='-O2 -g',
+    cppflags='-fno-strict-aliasing -pipe -I/pro/local/include'
+    ccversion='', gccversion='4.2.1 (SUSE Linux)', gccosandvers=''
+    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
+    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
+    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
+    alignbytes=4, prototype=define
+  Linker and Libraries:
+    ld='cc', ldflags ='-L/pro/local/lib'
+    libpth=/pro/local/lib /lib /usr/lib /usr/local/lib
+    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
+    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a
+    gnulibc_version='2.6.1'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
+    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/pro/local/lib'
@@ -0,0 +1,102 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 35;
+    unless ($ENV{PERL_CORE}) {
+	require Test::NoWarnings;
+	Test::NoWarnings->import ();
+	$tests++;
+	}
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V;
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, 0, "No build time known");
+is ($conf->{config}{version}, "5.18.0", "reconstructed \$Config{version}");
+
+# Some random checks
+is ($conf->{build}{options}{$_}, 0, "Runtime option $_") for qw(
+    DEBUG_LEAKING_SCALARS NO_HASH_SEED PERL_MEM_LOG_STDERR PERL_MEM_LOG_ENV
+    PERL_MEM_LOG_TIMESTAMP PERL_MICRO USE_ATTRIBUTES_FOR_PERLIO VMS_DO_SOCKETS );
+
+my %check = (
+    alignbytes      => 4,
+    api_version     => 18,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "cc",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E",
+    config_args     => "-Duse64bitint -Duselongdouble -des",
+    gccversion      => "4.7.2 20130108 [gcc-4_7-branch revision 195012]",
+    gnulibc_version => "2.17",
+    ivsize          => 8,
+    ivtype          => "long long",
+    ld              => "cc",
+    lddlflags       => "-shared -O3 -L/pro/local/lib -fstack-protector",
+    ldflags         => "-L/pro/local/lib -fstack-protector",
+    libc            => "/lib/libc-2.17.so",
+    lseektype       => "off_t",
+    osvers          => "3.7.10-1.4-desktop",
+    use64bitint     => "define",
+    );
+is ($conf->{config}{$_}, $check{$_}, "reconstructed \$Config{$_}") for sort keys %check;
+
+__END__
+Summary of my perl5 (revision 5 version 18 subversion 0) configuration:
+   
+  Platform:
+    osname=linux, osvers=3.7.10-1.4-desktop, archname=i686-linux-64int-ld
+    uname='linux test 3.7.10-1.4-desktop #1 smp preempt fri apr 19 12:06:34 utc 2013 (8ef74f8) i686 i686 i386 gnulinux '
+    config_args='-Duse64bitint -Duselongdouble -des'
+    hint=recommended, useposix=true, d_sigaction=define
+    useithreads=undef, usemultiplicity=undef
+    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
+    use64bitint=define, use64bitall=undef, uselongdouble=define
+    usemymalloc=n, bincompat5005=undef
+  Compiler:
+    cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
+    optimize='-O3',
+    cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/pro/local/include'
+    ccversion='', gccversion='4.7.2 20130108 [gcc-4_7-branch revision 195012]', gccosandvers=''
+    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
+    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
+    ivtype='long long', ivsize=8, nvtype='long double', nvsize=12, Off_t='off_t', lseeksize=8
+    alignbytes=4, prototype=define
+  Linker and Libraries:
+    ld='cc', ldflags ='-L/pro/local/lib -fstack-protector'
+    libpth=/pro/local/lib /lib /usr/lib /usr/local/lib
+    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
+    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=/lib/libc-2.17.so, so=so, useshrplib=false, libperl=libperl.a
+    gnulibc_version='2.17'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
+    cccdlflags='-fPIC', lddlflags='-shared -O3 -L/pro/local/lib -fstack-protector'
+
+
+Characteristics of this binary (from libperl): 
+  Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
+                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
+                        PERL_PRESERVE_IVUV PERL_SAWAMPERSAND USE_64_BIT_INT
+                        USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
+                        USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LONG_DOUBLE
+                        USE_PERLIO USE_PERL_ATOF
+  Built under linux
+  Compiled at May 18 2013 17:34:20
+  @INC:
+    /pro/lib/perl5/site_perl/5.18.0/i686-linux-64int-ld
+    /pro/lib/perl5/site_perl/5.18.0
+    /pro/lib/perl5/5.18.0/i686-linux-64int-ld
+    /pro/lib/perl5/5.18.0
+    .