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.

Reply via email to