Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Programs/Methods for analyzing an existing Perl based system

by Molt (Chaplain)
on May 30, 2002 at 09:35 UTC ( #170333=note: print w/replies, xml ) Need Help??

in reply to Programs/Methods for analyzing an existing Perl based system

I really don't think you're going to find what you're looking for in Perl. The grammatical nature of Perl makes parsing it exceptionally difficult ("Only perl can parse Perl") and so automated programs of this nature are nightmarish to write and even then won't catch everything. Nice things like eval, symbolic references, XS linkage, the ability to tweak so deeply into the engine, and other such things hammer us.

Yes, it has also been said that 'C doesn't have a grammar, C coders write their own with #define' but C seems a lot more regular than Perl does, and there's a lot more people willing to pay big money to people who can produce tools like this for it. Java obeys a nice simple grammar, which is why you see so many of these kind of tools for it.

All this being said there does seem to be good progress with the Perl Refactoring Browser, so possibly if someone was determined enough it may be possible to stand on their shoulders and produce code metrics from that. The Browser itself may do so, I've not looked that deeply into it to be honest, this'd help it detect the 'Code smells' that Refactoring is meant to solve.

  • Comment on Re: Programs/Methods for analyzing an existing Perl based system

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://170333]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2018-06-19 11:07 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (113 votes). Check out past polls.