in reply to OOP method usage

There are not any values being passed to _sub1() from sub2()

by calling _sub1() using the object method you can pass the object into _sub1() and return the adapted value

sub sub2() { #public method my $self = shift; $self->_sub1(); }