Acme::No

geoff on 2002-08-07T15:59:39

last week I posted to p5p.

this week we have Acme::No

=head1 SYNOPSIS



use 5.6;  # I use our(), so 5.6 is required
no  6.0;  # but this was coded for perl 5, not perl 6
          # and the perl 6 compat layer isn't really 5.6
          # so my code breaks under 6.0



use mod_perl 1.27;  # we need at least version 1.27
no mod_perl 2.0;    # but mod_perl 2.0 is entirely different than 1.0
              # so keep my cpan email to a minimum


it may not work for you, but that's ok 'cause I wrote it for me :)


Comments

rafael on 2002-08-08T08:19:42

A source filter ? Cool. Any reason why you haven't used Filter::Simple ?

Found a minor bug : you test the version of a module by a numeric comparison with ${"${module}::VERSION"} -- you should call the UNIVERSAL::VERSION() class method instead (see the UNIVERSAL manpage.)

And it doesn't handle vstrings (but that's fine because vstrings suck anyway.)

Re:Comments

geoff on 2002-08-08T11:25:24

I didn't use Filter::Simple simply because I wanted to require as few modules as possible. (well, I also wanted to see what all the fuss was about wrt using native source filters).

thanks for bringing up UNIVERSAL::VERSION(). my second attempt was actually overriding that method, but I didn't consider using it to my advantage. (my first attempt was B::Utils which didn't work out, for reasons I know now and which probably everyone else knew already).

anyway, thanks for the feedback. maybe I will release it to CPAN someday :)

Re:Comments

rafael on 2002-08-08T12:05:42

I don't understand what was your attempt at using B::Utils.

-- Rafaël the B:: modules hacker

Re:Comments

geoff on 2002-08-08T12:21:52

exactly :)



I read Simon's article about B::Utils and, not ever having done anything with the B:: modules, wanted to try it out on something. this looked (to my uneducated self) like a decent candidate since I wanted to change how perl core was doing things. After playing with the module, some of the gaps in my understanding were bridged, and I saw that it was almost definitely the wrong approach (and absolutely beyond my current skillset).



anyway, there's an updated version at the same location, if you're interested.