Using Set::Object - evidently I need compiled code?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I'd like to have sets of references (I'm from Java; I'm a Set guy).  I
understand that you cannot use a reference as a hash key, and that it
gets stringified if you try.   So, to make my Set object, I've been
hashing the reference to itself (or more properly, hashing the
stringification to the reference).

I would like to not reinvent the wheel, however, and have found
Set::Object.  But it doesn't work when I try to 'use Set::Object',
claiming it can't find something (even though the module is in the
path).  The doc for Set::Object refers to XS code, which I gather is
lower-level C stuff.  Do I need to link to a DLL or Shared Object or
something?  Or worse yet, build it?  BTW, I'd like this to run on both
XP and Linux.

Thanks, and sorry for the elementary question.


Re: Using Set::Object - evidently I need compiled code?

Quoted text here. Click to load it

Why didn't you post the "claim" (message) you got?


Re: Using Set::Object - evidently I need compiled code?

John Bokma wrote:
Quoted text here. Click to load it

Hmm, why not indeed.  Here it is:

Can't locate loadable object for module Set::Object in @INC (@INC
contains: C:/Program Files/Perl/site/lib C:/Program Files/Perl/lib .) at line 4
Compilation failed in require at line 4.
BEGIN failed--compilation aborted at line 4.

Re: Using Set::Object - evidently I need compiled code?

Quoted text here. Click to load it

Yep - it found ok, but not Object.dll (which is the compiled
part that is created and installed as part of the build process).

For Windows XP you can install pre-compiled binaries with:
ppm install Set-Object

That should work fine for perl 5.10 (as it will automatically pick up
the ActiveState package) but if you're running perl 5.8, you'll need
to add the trouchelle rep to your list of repositories (as ActiveState
don't appear to have a ppm for Set-Object for 5.8). See . It wouldn't hurt to add
both that  rep and the uwinnipeg anyway - for the latter, follow the
appropriate link at .

If you're using an ActiveState build of perl on linux, then you can
also use ppm there as well.
Otherwise for linux, you'll need to either install vendor-supplied
binaries (if they exist) or build from source yourself. See 'perldoc
perlmodinstall' for the latter.

Incidentally, you can check what's available at ActiveState in the way
of pre-compiled binaries (for perls 5.6, 5.8 and 5.10) at .


Site Timeline