in reply to perl determine a subroutine name by given line

I agree with moritz. You need a different approach. A good way to get started would be to use module_info from Module::Info. It will work on a module or script. For example:
module_info -s /usr/lib/perl5/5.8.8/CGI.pm
That will give you a list of all the subroutines in that module. Then you can get the line number of where that sub starts by using pfunc, which is also from Module::Info. Using CGI again, you can get the line number for the start of a sub, let's use 'param':
pfunc param /usr/lib/perl5/5.8.8/CGI.pm