Optree Generation

[email protected] (mohammad yaseen)
Newsgroups perl.unicode,perl.mvs,perl.perl5.porters,perl.beginners
Message-ID <[email protected]>
There is file called lib/B.pm here there is function as follows

 

sub B::IV::int_value {

  my ($self) = @_;

  my $ni = $self->IV; # i have added this

   print "\n $ni $self \n"; # i have added this

  return (($self->FLAGS() & SVf_IVisUV()) ? $self->UVX : $self->IV);

}

when i tried printing the $ni. if i run the following comman 

 

perl "-I../lib" -MO=Concise,BEGIN,CHECK,INIT,END,-exec -e '$a=$b && print q/foo/' 

 

then $ni is printing negative value -1585856300 (i am working on EBCDIC platform)  B::PVIV=SCALAR(0x2102f900) 

 

my question 

 

1. what is that negative value is it correct or what. 

2. how is variable IV is populated from where? 

3. what is the meaning of B::PVIV=SCALAR(0x2102f900) 

4. if u go to the begining of the file (lib/B.pm) and comment the following line @B::PVIV::ISA = qw(B::PV B::IV); on running the above mentioned line gives error. Here from where B::IV is picked from. what is the exact meaning of "B::IV"

Regards

Yaseen


		
---------------------------------
Yahoo! Mail for Mobile
 Take Yahoo! Mail with you! Check email on your mobile phone.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.