in reply to find out method name from the reference

Instead of using code references the way you mention in your question, you can keep track of the subroutines using a hash like this :
(You may put this into another package & use it in your script)
my %code_ref_hash = ( 'method1' => \&Package1::Method1, 'method2' => \&Package2::Method2, );

So that when you want to call a method, u can just use:
$code_ref_hash{'method1'}(); # OR $code_ref_hash{'method1'}->();
Instead of using references, you have the name of the method instead.
However for this, you have to 'not use strict on refs':
no strict refs;