SQL-SimpleOps v2023.274.1 Perl 5 v5.34.1 amd64-freebsd-thread-multi

Status
Pass
From
Slaven Rezić
Dist
SQL-SimpleOps v2023.274.1
Platform
Perl 5 v5.34.1 amd64-freebsd-thread-multi
Date
2023-10-09 02:25:01
ID
0ca40076-664b-11ee-a562-043c6e8775ea
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear Carlos Celso de Almeida,

This is a computer-generated report for SQL-SimpleOps-2023.274.1
on perl 5.34.1, created by CPAN-Reporter-1.2018.

Thank you for uploading your work to CPAN.  Congratulations!
All tests were successful.

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

none provided

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make test':

PERL_DL_NONLAZY=1 "/usr/local/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# No type of test found
# See README.txt before doing any test
t/testDB.t ..... ok
# 
# ################################################################
# test: 010
# format: Delete( table=>"t1", force=>1 )
# rc: 0
# result: DELETE FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 011
# format: Delete( table=>"t1", where => [ fld => 123 ] )
# rc: 0
# result: DELETE FROM t1 WHERE fld = '123'
# status: SUCCESSFUL
# ################################################################
# test: 020
# format: Insert( table=>"t1", fields => { a => 1, b => 2, c => 3 } )
# rc: 0
# result: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status: SUCCESSFUL
# ################################################################
# test: 021
# format: Insert( table=>"t1", fields => [ "a","b","c" ], values => [ 1,2,3 ] )
# rc: 0
# result: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status: SUCCESSFUL
# ################################################################
# test: 030
# format: Update( table=>"t1", fields => { a => 1, b => 2 }, where => [ c => [ "!", 3 ] ] )
# rc: 0
# result: UPDATE t1 SET a = '1', b = '2' WHERE c != '3'
# status: SUCCESSFUL
# ################################################################
# test: 031
# format: Update( table=>"t1", fields => { a => '\concat(a,"xxxx")' }, force => 1 )
# rc: 0
# result: UPDATE t1 SET a = concat(a,"xxxx")
# status: SUCCESSFUL
# ################################################################
# test: 040
# format: Select( table=>"t1", fields => [ "a","b","c"] )
# rc: 0
# result: SELECT a, b, c FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 041
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4 ] )
# rc: 0
# result: SELECT a, b, c FROM t1 WHERE d = '4'
# status: SUCCESSFUL
# ################################################################
# test: 043
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4, e=>5 ] )
# rc: 0
# result: SELECT a, b, c FROM t1 WHERE d = '4' AND e = '5'
# status: SUCCESSFUL
# ################################################################
# test: 044
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>'\substr(e,1,8)' ] )
# rc: 0
# result: SELECT a, b, c FROM t1 WHERE d = substr(e,1,8)
# status: SUCCESSFUL
# ################################################################
# test: 045
# format: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ 't1.a' => 't2.b' ] )
# rc: 0
# result: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.b
# status: SUCCESSFUL
# ################################################################
# test: 046
# format: Select( table=>"t1", fields => [ {"a"=>"aa"} ], where => [ 'a' => '0' ] )
# rc: 0
# result: SELECT a aa FROM t1 WHERE a = '0'
# status: SUCCESSFUL
# ################################################################
# test: 047
# format: Select( table=>"t1", fields => [ {"t1.a"=>"aa"} ], where => [ 't1.a' => '0' ] )
# rc: 0
# result: SELECT t1.a aa FROM t1 WHERE t1.a = '0'
# status: SUCCESSFUL
# ################################################################
# test: 048
# format: Select( table=>["t1","t2"], fields => [ {"t1.a"=>"aa"}, {"t2.b"=>"bb"} ], where => [ 't1.a' => 't2.b' ] )
# rc: 0
# result: SELECT t1.a aa, t2.b bb FROM t1, t2 WHERE t1.a = t2.b
# status: SUCCESSFUL
# ################################################################
# test: 049
# format: Select( table=>"t1", fields => [ {"sum(a)"=>"a1"}, {"sum(t1.a)"=>"a2"}, {"\sum(a)"=>"a3"} ], where => [ 'a' => '0' ] )
# rc: 0
# result: SELECT sum(a) a1, sum(t1.a) a2, sum(a) a3 FROM t1 WHERE a = '0'
# status: SUCCESSFUL
# ################################################################
# test: 050
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_TOP, limit=>100 )
# rc: 0
# note: Command=TOP, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 051
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_NEXT, limit=>100 )
# rc: 0
# note: Command=NEXT, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 052
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_BACK, limit=>100 )
# rc: 0
# note: Command=BACK, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a DESC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 053
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_NEXT, limit=>100 )
# rc: 0
# note: Command=NEXT, Cursor is first(1) and last(100)
# result: SELECT a, b, c FROM t1 WHERE a > '100' ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 054
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_BACK, limit=>100 )
# rc: 0
# note: Command=BACK, Cursor is first(101) and last(200)
# result: SELECT a, b, c FROM t1 WHERE a < '101' ORDER BY a DESC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 055
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_RELOAD, limit=>100 )
# rc: 0
# note: Command=RELOAD, Cursor is first(1) and last(100)
# result: SELECT a, b, c FROM t1 WHERE a > '1' ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 056
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_LAST, limit=>100 )
# rc: 0
# note: Command=LAST, Cursor is first(1) and last(100)
# result: SELECT a, b, c FROM t1 ORDER BY a DESC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 057
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_TOP, limit=>0 )
# rc: 0
# note: Command=TOP, Limit is ZERO
# result: SELECT a, b, c FROM t1 ORDER BY a ASC
# status: SUCCESSFUL
# ################################################################
# test: 060
# format: Select( table=>"t1", fields => [ "distinct", "a" ] )
# rc: 0
# note: Select with DISTINCT array sequence
# result: SELECT DISTINCT a FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 061
# format: Select( table=>"t1", fields => [ "distinct" => "a" ] )
# rc: 0
# note: Select with DISTINCT based hash
# result: SELECT DISTINCT a FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 062
# format: Select( table=>"t1", fields => [ "count(*)" ] )
# rc: 0
# result: SELECT count(*) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 063
# format: Select( table=>"t1", fields => [ "max(t1.a)" ] )
# rc: 0
# result: SELECT max(t1.a) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 064
# format: Select( table=>"t1", fields => [ "max(a)" ] )
# rc: 0
# result: SELECT max(a) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 065
# format: Select( table=>"t1", fields => [ "substr(a,1,8)" ] )
# rc: 0
# result: SELECT substr(a,1,8) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 066
# format: Select( table=>"t1", fields => [ "\aaa.bbb.ccc" ] )
# rc: 0
# result: SELECT aaa.bbb.ccc FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 067
# format: Select( table=>"t1", fields => [ "distinct","\aaa.bbb.ccc" ] )
# rc: 0
# result: SELECT DISTINCT aaa.bbb.ccc FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 070
# format: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ 't1.a' => 't2.b' ], sql_save=>1 )
# rc: 0
# note: SQL_SAVE enabled
# result: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.b
# savefile: /tmp/2023/202310/20231009/sql.teste.20231009.31822.1
# savefile: removed
# status: SUCCESSFUL
# ################################################################
# test: 071
# format: Select( table=>"t1", order_by => "t1.a" )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a
# status: SUCCESSFUL
# ################################################################
# test: 072
# format: Select( table=>"t1", order_by => [ {"t1.a" => "asc"} ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a ASC
# status: SUCCESSFUL
# ################################################################
# test: 073
# format: Select( table=>"t1", order_by => [ {"t1.a" => "desc"} ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a DESC
# status: SUCCESSFUL
# ################################################################
# test: 074
# format: Select( table=>"t1", order_by => [ "t1.a", "t1.b" ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a, t1.b
# status: SUCCESSFUL
# ################################################################
# test: 075
# format: Select( table=>"t1", order_by => [ {"t1.a" => "asc"}, "t1.b" ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a ASC, t1.b
# status: SUCCESSFUL
# ################################################################
# test: 076
# format: Select( table=>"t1", order_by => [ "t1.a", {"t1.b"=>"desc"} ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a, t1.b DESC
# status: SUCCESSFUL
# ################################################################
# test: 077
# format: Select( table=>"t1", order_by => {"t1.b"=>"desc"} )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.b DESC
# status: SUCCESSFUL
# ################################################################
# 
# To see the input options used to create the 'where' clause, rerun the test with:
# 
# export SQL_SIMPLE_SQL_SHOW_OK=1
# 
t/testSQL.t .... ok
# 
# ################################################################
# result: id = 'info'
# test: 101, SUCCESSFUL
# ################################################################
# result: id = 'info'
# test: 102, SUCCESSFUL
# ################################################################
# result: id != 'info'
# test: 103, SUCCESSFUL
# ################################################################
# result: id < 'info'
# test: 104, SUCCESSFUL
# ################################################################
# result: id > 'info'
# test: 105, SUCCESSFUL
# ################################################################
# result: id LIKE 'info%'
# test: 106, SUCCESSFUL
# ################################################################
# result: id LIKE '%info%'
# test: 107, SUCCESSFUL
# ################################################################
# result: id LIKE '%info'
# test: 108, SUCCESSFUL
# ################################################################
# result: id LIKE 'info'
# test: 109, SUCCESSFUL
# ################################################################
# result: id IS NULL
# test: 110, SUCCESSFUL
# ################################################################
# result: id NOT NULL
# test: 111, SUCCESSFUL
# ################################################################
# result: id IN ('info1','info2')
# test: 112, SUCCESSFUL
# ################################################################
# result: id NOT IN ('info1','info2')
# test: 113, SUCCESSFUL
# ################################################################
# result: id BETWEEN ('info1','info2')
# test: 114, SUCCESSFUL
# ################################################################
# result: id NOT BETWEEN ('info1','info2')
# test: 115, SUCCESSFUL
# ################################################################
# result: id = 'info' AND id = 'info2' AND no = 'no1' AND no = 'no2'
# test: 120, SUCCESSFUL
# ################################################################
# result: id = 'info' AND id = 'info2' OR no = 'no1' AND no = 'no2'
# test: 121, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id
# test: 200, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id
# test: 201, SUCCESSFUL
# ################################################################
# result: t1.id != t2.id
# test: 202, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id AND t1.id = t3.id
# test: 210, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id AND t1.id = t3.id
# test: 211, SUCCESSFUL
# ################################################################
# result: t1.id != t2.id AND t1.id != t3.id
# test: 212, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id OR t1.id = t3.id
# test: 213, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id AND t1.id BETWEEN ('1234','5678') AND (t1.id != '0' OR t2.id != '0')
# test: 214, SUCCESSFUL
# ################################################################
# result: (id = '1' AND id = '2') AND (no = '3' AND no = '4')
# test: 220, SUCCESSFUL
# ################################################################
# result: (id LIKE '1%' OR id LIKE '2%') AND (no LIKE '%3' OR no LIKE '%4')
# test: 221, SUCCESSFUL
# ################################################################
# result: (id NOT LIKE '1%' AND id NOT LIKE '2%') AND (no NOT LIKE '%3' AND no NOT LIKE '%4')
# test: 222, SUCCESSFUL
# ################################################################
# result: (id NOT LIKE '1%' AND id NOT LIKE '2%') OR (no NOT LIKE '%3' AND no NOT LIKE '%4')
# test: 223, SUCCESSFUL
# ################################################################
# result: id NOT NULL OR no IS NULL
# test: 224, SUCCESSFUL
# ################################################################
# result: ((a = '1' AND b = '2') OR (c = '3' AND d = '4')) AND e = '5'
# test: 225, SUCCESSFUL
# ################################################################
# result: a = concat(a,'abc')
# test: 230, SUCCESSFUL
# ################################################################
# result: a != concat(a,'abc')
# test: 231, SUCCESSFUL
# 
# To see the input options used to create the 'where' clause, rerun the test with:
# 
# export SQL_SIMPLE_WHERE_SHOW_OK=1
# 
t/testWhere.t .. ok
All tests successful.
Files=3, Tests=5,  0 wallclock secs ( 0.02 usr  0.02 sys +  0.30 cusr  0.08 csys =  0.41 CPU)
Result: PASS

------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module              Need Have    
    ------------------- ---- --------
    Date::Calc          0    6.4     
    DBI                 0    1.643   
    File::Path          0    2.18    
    File::Spec          0    3.80    
    IO::File            0    1.46    
    JSON                0    4.10    
    Sys::Syslog         0    0.36    

build_requires:

    Module              Need Have    
    ------------------- ---- --------
    DBD::SQLite         0    1.74    
    Test::More          0    1.302183

configure_requires:

    Module              Need Have    
    ------------------- ---- --------
    ExtUtils::MakeMaker 0    7.62    


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    LANG = C.UTF-8
    PATH = /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cpansand/bin/sh:/home/cpansand/bin:/usr/games:/home/cpansand/devel:/usr/home/eserte/src/srezic-misc/scripts
    PERL5LIB = /home/cpansand/.cpan/build/2023100902/JSON-4.10-0/blib/arch:/home/cpansand/.cpan/build/2023100902/JSON-4.10-0/blib/lib:/home/cpansand/.cpan/build/2023100902/Date-Calc-6.4-1/blib/arch:/home/cpansand/.cpan/build/2023100902/Date-Calc-6.4-1/blib/lib:/home/cpansand/.cpan/build/2023100902/Bit-Vector-7.4-1/blib/arch:/home/cpansand/.cpan/build/2023100902/Bit-Vector-7.4-1/blib/lib:/home/cpansand/.cpan/build/2023100902/Carp-Clan-6.08-0/blib/arch:/home/cpansand/.cpan/build/2023100902/Carp-Clan-6.08-0/blib/lib:/home/cpansand/.cpan/build/2023100902/DBD-SQLite-1.74-0/blib/arch:/home/cpansand/.cpan/build/2023100902/DBD-SQLite-1.74-0/blib/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 30657
    PERL5_CPAN_IS_RUNNING = 30657
    PERL5_CPAN_IS_RUNNING_IN_RECURSION = 30644,30657
    PERL_BATCH = yes
    PERL_CANARY_STABILITY_NOPROMPT = 1
    PERL_CPAN_REPORTER_CONFIG = /var/tmp/cpansmoker-1023/2023100902/cpanreporter_000_config.ini
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    PERL_USE_UNSAFE_INC = 1
    SHELL = /bin/sh
    TMPDIR = /var/tmp/cpansmoker-1023/2023100902

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /usr/local/bin/perl
    $UID/$EUID = 1023 / 1023
    $GID = 1023 1023
    $EGID = 1023 1023

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.28    
    CPAN::Meta          2.150010
    Cwd                 3.80    
    ExtUtils::CBuilder  0.280236
    ExtUtils::Command   7.62    
    ExtUtils::Install   2.20    
    ExtUtils::MakeMaker 7.62    
    ExtUtils::Manifest  1.73    
    ExtUtils::ParseXS   3.43    
    File::Spec          3.80    
    JSON                4.10    
    JSON::PP            4.06    
    Module::Build       0.4234  
    Module::Signature   n/a     
    Parse::CPAN::Meta   2.150010
    Test::Harness       3.43    
    Test::More          1.302183
    YAML                n/a     
    YAML::Syck          1.34    
    version             0.9928  


--

Summary of my perl5 (revision 5 version 34 subversion 1) configuration:
   
  Platform:
    osname=freebsd
    osvers=15.0-current
    archname=amd64-freebsd-thread-multi
    uname='freebsd main-amd64-default-job-03 15.0-current freebsd 15.0-current 1500000 amd64 '
    config_args='-Darchlib=/usr/local/lib/perl5/5.34/mach -Dcc=cc -Dcf_by=mat -Dcf_email=mat@FreeBSD.org -Dcf_time=Sun Mar 13 08:40:32 UTC 2022 -Dinc_version_list=none -Dlibperl=libperl.so.5.34.1 -Dman1dir=/usr/local/lib/perl5/5.34/perl/man/man1 -Dman3dir=/usr/local/lib/perl5/5.34/perl/man/man3 -Dprefix=/usr/local -Dprivlib=/usr/local/lib/perl5/5.34 -Dscriptdir=/usr/local/bin -Dsitearch=/usr/local/lib/perl5/site_perl/mach/5.34 -Dsitelib=/usr/local/lib/perl5/site_perl -Dsiteman1dir=/usr/local/lib/perl5/site_perl/man/man1 -Dsiteman3dir=/usr/local/lib/perl5/site_perl/man/man3 -Dusenm=n -Duseshrplib -sde -Ui_iconv -Ui_malloc -Uinstallusrbinperl -Accflags=-DUSE_THREAD_SAFE_LOCALE -Alddlflags=-L/wrkdirs/usr/ports/lang/perl5.34/work/perl-5.34.1 -L/usr/local/lib/perl5/5.34/mach/CORE -lperl -Dshrpldflags=$(LDDLFLAGS:N-L/wrkdirs/usr/ports/lang/perl5.34/work/perl-5.34.1:N-L/usr/local/lib/perl5/5.34/mach/CORE:N-lperl) -Wl,-soname,$(LIBPERL:R) -Doptimize=-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -Dusedtrace -Ui_gdbm -Dusemultiplicity=y -Duse64bitint -Dusemymalloc=n -Dusethreads=y'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='cc'
    ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    optimize='-O2 -pipe -fstack-protector-strong -fno-strict-aliasing '
    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='FreeBSD Clang 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags ='-pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib /usr/lib/clang/16/lib
    libs=-ldl -lm -lcrypt -lutil
    perllibs=-ldl -lm -lcrypt -lutil
    libc=
    so=so
    useshrplib=true
    libperl=libperl.so.5.34.1
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='  -Wl,-R/usr/local/lib/perl5/5.34/mach/CORE'
    cccdlflags='-DPIC -fPIC'
    lddlflags='-shared  -L/usr/local/lib/perl5/5.34/mach/CORE -lperl -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_IMPLICIT_CONTEXT
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
    USE_THREAD_SAFE_LOCALE
  Built under freebsd
  %ENV:
    PERL5LIB="/home/cpansand/.cpan/build/2023100902/JSON-4.10-0/blib/arch:/home/cpansand/.cpan/build/2023100902/JSON-4.10-0/blib/lib:/home/cpansand/.cpan/build/2023100902/Date-Calc-6.4-1/blib/arch:/home/cpansand/.cpan/build/2023100902/Date-Calc-6.4-1/blib/lib:/home/cpansand/.cpan/build/2023100902/Bit-Vector-7.4-1/blib/arch:/home/cpansand/.cpan/build/2023100902/Bit-Vector-7.4-1/blib/lib:/home/cpansand/.cpan/build/2023100902/Carp-Clan-6.08-0/blib/arch:/home/cpansand/.cpan/build/2023100902/Carp-Clan-6.08-0/blib/lib:/home/cpansand/.cpan/build/2023100902/DBD-SQLite-1.74-0/blib/arch:/home/cpansand/.cpan/build/2023100902/DBD-SQLite-1.74-0/blib/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="30657"
    PERL5_CPAN_IS_RUNNING="30657"
    PERL5_CPAN_IS_RUNNING_IN_RECURSION="30644,30657"
    PERL_BATCH="yes"
    PERL_CANARY_STABILITY_NOPROMPT="1"
    PERL_CPAN_REPORTER_CONFIG="/var/tmp/cpansmoker-1023/2023100902/cpanreporter_000_config.ini"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
    PERL_USE_UNSAFE_INC="1"
  @INC:
    /home/cpansand/.cpan/build/2023100902/JSON-4.10-0/blib/arch
    /home/cpansand/.cpan/build/2023100902/JSON-4.10-0/blib/lib
    /home/cpansand/.cpan/build/2023100902/Date-Calc-6.4-1/blib/arch
    /home/cpansand/.cpan/build/2023100902/Date-Calc-6.4-1/blib/lib
    /home/cpansand/.cpan/build/2023100902/Bit-Vector-7.4-1/blib/arch
    /home/cpansand/.cpan/build/2023100902/Bit-Vector-7.4-1/blib/lib
    /home/cpansand/.cpan/build/2023100902/Carp-Clan-6.08-0/blib/arch
    /home/cpansand/.cpan/build/2023100902/Carp-Clan-6.08-0/blib/lib
    /home/cpansand/.cpan/build/2023100902/DBD-SQLite-1.74-0/blib/arch
    /home/cpansand/.cpan/build/2023100902/DBD-SQLite-1.74-0/blib/lib
    /usr/local/lib/perl5/site_perl/mach/5.34
    /usr/local/lib/perl5/site_perl
    /usr/local/lib/perl5/5.34/mach
    /usr/local/lib/perl5/5.34
    .