Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Perl Cross References

by Courage (Parson)
on Jun 04, 2002 at 17:05 UTC ( [id://171565]=note: print w/replies, xml ) Need Help??


in reply to Perl Cross References

I'm 75% sure you have another B.pm somewhere in your @INC that clashes with one in perl distribution!

(I had similar failings recently and that was a reason in my case)

To check my idea, what perl -MO=Xref -we 1 outputs? If it is good. then my assumption is wrong. In that case there should be something special with your elric. If that is the case, could you post then a place in 'elric' that causes such behaviour?

Courage, the Cowardly Dog.
PS. Something fishy is going on there, or my name is Vadim Konovalov. And it's not.

Replies are listed 'Best First'.
Re: Re: Perl Cross References
by PetaMem (Priest) on Jun 04, 2002 at 17:32 UTC
    Hi,

    it's the 25% that bite us (both):

    rj@pollux:~/_ELRIC/implementation/src/examples> perl -MO=Xref -we 1 File -e Subroutine (definitions) Package UNIVERSAL &VERSION s0 &can s0 &isa s0 Package attributes &bootstrap s0 -e syntax OK
    and - btw. B::XRef works "good" for all smaller scripts I call it on as long as they aren't complicated and ~ 50 lines of code not more. Even then:
    Use of uninitialized value in string eq at /usr/lib/perl5/5.6.1/i586-l +inux/B/Xref.pm line 117. Use of uninitialized value in substitution (s///) at /usr/lib/perl5/5. +6.1/i586-linux/B/Xref.pm line 124. Use of uninitialized value in string eq at /usr/lib/perl5/5.6.1/i586-l +inux/B/Xref.pm line 117. Use of uninitialized value in substitution (s///) at /usr/lib/perl5/5. +6.1/i586-linux/B/Xref.pm line 124. Use of uninitialized value in concatenation (.) or string at /usr/lib/ +perl5/5.6.1/i586-linux/B/Xref.pm line 130. Use of uninitialized value in string eq at /usr/lib/perl5/5.6.1/i586-l +inux/B/Xref.pm line 117. etc. etc. (cut for node readability) Use of uninitialized value in substitution (s///) at /usr/lib/perl5/5. +6.1/i586-linux/B/Xref.pm line 124. Use of uninitialized value in concatenation (.) or string at /usr/lib/ +perl5/5.6.1/i586-linux/B/Xref.pm line 130. Use of uninitialized value in concatenation (.) or string at /usr/lib/ +perl5/5.6.1/i586-linux/B/Xref.pm line 130.
    Ugly isn't it? But after that the references spill out. So one must say: unusable for larger projects. Who needs cross references on small scripts???

    Update:

    I thought B::Xref spills out human readable output by default (no params).. :-) Is this considered human readable?

    Subroutine deflate Package (lexical) $$eref 51 $@$$eref 56 $@$@$$eref 60 $@$@$@$$eref 65 $@$@$@$@$$eref 70 $eref i50, 51 $i i55, 56, 59, 59, 55, 70, 71 $inner i60, 62, 63, 64, 55, 69 $j i59, 60, 65, 66, 67, 59 $key i49 $outer i56, 62, 63, 64, 55, 69 $size i51, 66, 59, 55, 71 @$$eref 51, 56 @$@$$eref 56, 60 @$@$@$$eref 60, 65 @$@$@$@$$eref 65, 70 @$@$@$@$@$$eref 70 Package main @_ 49, 50

    Bye
     PetaMem

    Edit by tye to change PRE tags to CODE tags

      You're right, things are worse than I thought. And yes, cross-referencing usage starts from large ammount of code.

      Anyway, did you tried latest perl (5.8.0-RC1)?
      Just curious.
      Also, thank you for your experience, with your help I will be careful when will be planning using any compiler stuff.

      Courage, the Cowardly Dog.
      PS. Something fishy is going on there, or my name is Vadim Konovalov. And it's not.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2024-04-25 09:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found