http://www.perlmonks.org?node_id=248697

PodMaster has asked for the wisdom of the Perl Monks concerning the following question:

So in response to Perl bindings for puredb, I started writing an interface to pure-db (Tie::PureDB), but I'm faced with confuzzlment. I'd really apreciate lots of help in figuring this out ;)(writing the rest of the interface should be trivial, just as soon as you help me figure out what's wrong with the little I got already).

http://crazyinsomniac.perlmonk.org/perl/files/Tie-PureDB-0.01.helpme.txt
http://crazyinsomniac.perlmonk.org/perl/files/Tie-PureDB-0.01.tar.bz2

E:\dev\PureDB\Tie-PureDB-0.01>perl Makefile.PL Checking if your kit is complete... Looks good Warning: '-L./pure-db-2.1/windows' changed to '-LE:/dev/PureDB/Tie-Pur +eDB-0.01/./pure-db-2.1/windows' Writing Makefile for Tie::PureDB E:\dev\PureDB\Tie-PureDB-0.01>nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp PureDB.pm blib\lib\Tie\PureDB.pm C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils/xsubpp -typemap C:\ +Perl\lib\ExtUtils\typemap -typemap typemap PureDB.xs > PureDB.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e mv PureDB.xsc PureDB.c cl -c -I./pure-db-2.1/windows -nologo -O1 -MD -DNDEBUG -DWIN +32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT - +D PERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -O1 -MD -DNDEBUG -DVERSION= +\"0.01\" -DXS_VERSION=\"0.01\" "-IC:\Perl\lib\CORE" PureDB.c PureDB.c PureDB.xs(32) : warning C4700: local variable 'RETVAL' used without ha +ving been initialized "Running Mkbootstrap for Tie::PureDB ()" C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 PureDB.b +s C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('N +AME'=>\"Tie::PureDB\", 'DLBASE' => 'PureDB', 'DL_FUNCS' => { }, 'FUN +C LIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\Tie\PureDB\PureDB.dll -dll -nologo -n +odefaultlib -release -libpath:"C:/Perl\lib\CORE" -machine:x86 PureD +B .obj C:\Perl\lib\CORE\perl56.lib E:\dev\PureDB\Tie-PureDB-0.01\pure- +db-2.1\windows\libpuredb_write.lib E:\dev\PureDB\Tie-PureDB-0.01\pure +- db-2.1\windows\libpuredb_read.lib "C:\Program Files\Microsoft Visual S +tudio\VC98\lib\oldnames.lib" "C:\Program Files\Microsoft Visual Studi +o \VC98\lib\kernel32.lib" "C:\Program Files\Microsoft Visual Studio\VC98 +\lib\user32.lib" "C:\Program Files\Microsoft Visual Studio\VC98\lib\g +d i32.lib" "C:\Program Files\Microsoft Visual Studio\VC98\lib\winspool.l +ib" "C:\Program Files\Microsoft Visual Studio\VC98\lib\comdlg32.lib" +" C:\Program Files\Microsoft Visual Studio\VC98\lib\advapi32.lib" "C:\Pr +ogram Files\Microsoft Visual Studio\VC98\lib\shell32.lib" "C:\Program Files\Microsoft Visual Studio\VC98\lib\ole32.lib" "C:\Program Files\Mi +crosoft Visual Studio\VC98\lib\oleaut32.lib" "C:\Program Files\Micros +o ft Visual Studio\VC98\lib\netapi32.lib" "C:\Program Files\Microsoft Vi +sual Studio\VC98\lib\uuid.lib" "C:\Program Files\Microsoft Visual Stu +d io\VC98\lib\wsock32.lib" "C:\Program Files\Microsoft Visual Studio\VC9 +8\lib\mpr.lib" "C:\Program Files\Microsoft Visual Studio\VC98\lib\win +m m.lib" "C:\Program Files\Microsoft Visual Studio\VC98\lib\version.lib" + "C:\Program Files\Microsoft Visual Studio\VC98\lib\odbc32.lib" "C:\P +r ogram Files\Microsoft Visual Studio\VC98\lib\odbccp32.lib" "C:\Program + Files\Microsoft Visual Studio\VC98\lib\msvcrt.lib" -def:PureDB.def Creating library blib\arch\auto\Tie\PureDB\PureDB.lib and object bl +ib\arch\auto\Tie\PureDB\PureDB.exp C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arc +h\auto\Tie\PureDB\PureDB.dll C:\Perl\bin\perl.exe -MExtUtils::Command -e cp PureDB.bs blib\ +arch\auto\Tie\PureDB\PureDB.bs C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 blib\arc +h\auto\Tie\PureDB\PureDB.bs C:\Perl\bin\perl.exe "-Iblib\lib" "-Iblib\arch" test.pl 1..1 ok 1 Success reading './pure-db-2.1/puredb.pdb' #Tie::PureDB::Read SV = RV(0x1aa2a58) at 0x1ab2394 REFCNT = 1 FLAGS = (PADBUSY,PADMY,ROK) RV = 0x1abf174 SV = PVMG(0x1c161c4) at 0x1abf174 REFCNT = 1 FLAGS = (OBJECT,IOK,pIOK) IV = 29481936 NV = 0 PV = 0 STASH = 0x1aaffec "Tie::PureDB::Read" # ok 2 $VAR1 = bless( do{\(my $o = 29481936)}, 'Tie::PureDB::Read' ); ok 3 Success reading './pure-db-2.1/puredb.pdb' ok 4 Success reading './pure-db-2.1/puredb.pdb' #looking for key42 ... Tie::PureDB::Read a system error occured: Bad file descriptor not ok 5 # Failed test 5 in test.pl at line 35 #begin tie testing Success reading './pure-db-2.1/puredb.pdb' ok 6 ok 7 # exists/fetch a system error occured: Bad file descriptor a system error occured: Bad file descriptor not ok 8 # Failed test 8 in test.pl at line 53 a system error occured: Bad file descriptor not ok 9 # Failed test 9 in test.pl at line 54 a system error occured: Bad file descriptor not ok 10 # Failed test 10 in test.pl at line 55 panic: leave_scope inconsistency. panic: leave_scope inconsistency. NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x9' Stop. E:\dev\PureDB\Tie-PureDB-0.01>


MJD says you can't just make shit up and expect the computer to know what you mean, retardo!
I run a Win32 PPM repository for perl 5.6x+5.8x. I take requests.
** The Third rule of perl club is a statement of fact: pod is sexy.