http://www.perlmonks.org?node_id=1065423


in reply to Re: Difference in retrieving values from a varchar2 column and number column from DB
in thread Difference in retrieving values from a varchar2 column and number column from DB

Do you mean the :: in return $obj->SUPER::new(@args);? SUPER calls the base class method of the object. For example:

use strict; use warnings; package Base; sub method { my ($self) = @_; my $class = ref $self; print "In Base::method(). I'm a $class instance.\n"; } package Derived; push @Derived::ISA, 'Base'; sub new { my ($class) = @_; return bless {}, $class; } sub method { my ($self) = @_; print "In Derived::method()\n"; $self->SUPER::method(); } package main; my $obj = Derived->new(); $obj->method();

Prints:

In Derived::method() In Base::method(). I'm a Derived instance
True laziness is hard work

Replies are listed 'Best First'.
Re^3: Difference in retrieving values from a varchar2 column and number column from DB
by Anonymous Monk on Dec 03, 2013 at 13:48 UTC

    I am sorry for making you write an example as I referred to "the last colon-colon" in the push statement ...

    push @ipElement,(new MyPackage::NetAddr::IP::($row_ip->{IP}, '255.255. +255.255')); ...
Re^3: Difference in retrieving values from a varchar2 column and number column from DB
by Arun Kumar (Novice) on Dec 03, 2013 at 17:06 UTC

    No, the

    ::

    in

    return $obj->SUPER::new(@args);

    returns the base class method of the containing class/package.