Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^7: [JOB] The Perl Foundation seeks Windows Developer

by demerphq (Chancellor)
on Apr 03, 2006 at 08:32 UTC ( #540878=note: print w/replies, xml ) Need Help??


in reply to Re^6: [JOB] The Perl Foundation seeks Windows Developer
in thread [JOB] The Perl Foundation seeks Windows Developer

But -- to my point -- Class::InsideOut can't be built automatically into a PPM by ActiveState because their build farm is designed to be backwards compatible nearly 4 years all the way to 5.8.0.

Oh, theres a simple and easy solution to that. Dont use Scalar::Util to get refaddr(). Get it from Data::Dump::Streamer instead. At the same time you can add the DDS serilization support you mentioned a while back. And since DDS builds just fine under the PPM infrastructure everything will work out nicely.

And if you want a less painful to use reftype() function you can get it from DDS too. :-)

---
$world=~s/war/peace/g

  • Comment on Re^7: [JOB] The Perl Foundation seeks Windows Developer

Replies are listed 'Best First'.
Re^8: [JOB] The Perl Foundation seeks Windows Developer
by xdg (Monsignor) on Apr 03, 2006 at 11:09 UTC

    Heh! Well, that goes to show that TIMTOWTDI still applies!

    In this specific example, I wouldn't use DDS in practice because I'm trying to limit dependencies to 5.8 core modules only.

    Once Class::InsideOut reaches its 1.0 release, I was going to requiest that a PPM be generated in the University of Winnipeg PPM repository anyway.

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      What I would do in this situation is fake it. Set it up so on 5.8.0 or whatever weirdo version AS is using DDS becomes a prereq. Then structure your code so you use refaddr from either source. That should get it sorted enough to distribute through their infrastructure, and shouldn't really affect normal users. I reckon only a little bit of Makefile.PL magic would be required. Just do a check like

      ( $^O eq 'MSWin32' && eval "use Scalar::Util qw(refaddr); 1") ? ( 'Data::Dump::Streamer' ) : ()
      ---
      $world=~s/war/peace/g

        I might yet do that for Class::InsideOut, but I don't think that's a really good long-term fix. A quick spin through Module;:CoreList shows 299 of 359 modules in the perl 5.8.8 core being new or changed since 5.8.0 -- who knows what kind of differences are lurking. Keeping track and finding/writing proxies anytime I use a core module is more headache than I'd like. I'd much rather be able to specify an up-to-date core module as a requirement and be done with it.

        -xdg

        Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://540878]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2019-05-22 06:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you enjoy 3D movies?



    Results (138 votes). Check out past polls.

    Notices?
    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!