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

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

am 01.04.2008 04:21:34 von Dave Stallard

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.

Dave

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

am 01.04.2008 07:59:06 von John Bokma

Dave Stallard wrote:

> 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

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

--
John

http://johnbokma.com/perl/

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

am 02.04.2008 02:26:22 von Dave Stallard

John Bokma wrote:
> Dave Stallard wrote:
>
>> 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
>
> Why didn't you post the "claim" (message) you got?

Hmm, why not indeed. Here it is:

perl test-set.pl
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
test-set.pl line 4
Compilation failed in require at test-set.pl line 4.
BEGIN failed--compilation aborted at test-set.pl line 4.

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

am 02.04.2008 04:21:50 von sisyphus359

On Apr 2, 11:26=A0am, Dave Stallard wrote:
> John Bokma wrote:
> > Dave Stallard wrote:
>
> >> I would like to not reinvent the wheel, however, and have found
> >> Set::Object. =A0But it doesn't work when I try to 'use Set::Object',
> >> claiming it can't find something
>
> > Why didn't you post the "claim" (message) you got?
>
> Hmm, why not indeed. =A0Here it is:
>
> perl test-set.pl
> 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
> test-set.pl line 4
> Compilation failed in require at test-set.pl line 4.
> BEGIN failed--compilation aborted at test-set.pl line 4.

Yep - it found Object.pm 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
http://trouchelle.com/perl/ppmrepview.pl . It wouldn't hurt to add
both that rep and the uwinnipeg anyway - for the latter, follow the
appropriate link at http://theoryx5.uwinnipeg.ca/ .

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
http://ppm.activestate.com/BuildStatus/ .

Cheers,
Rob