M
M
mars natsuhiboshi2015-12-29 21:59:25
Perl
mars natsuhiboshi, 2015-12-29 21:59:25

[Solved] How to create a combined function link?

Given:

#опеределенная функция вызывает потоки и передает им ссылки
sub prs {
 ...
thr (@links);
}
#Тут то и вопрос как создать ссылку на функцию thr_prs, зная что нас вызывает функция prs ?
sub thr {
   #Вот я вызвал имя калера
   my $d = (caller(1))[3];
   $d =~ s/Some_lib:://g;
   #как можно сделать составную ссылку на функцию типа	 
         # my $fu = '\&thr'."$d";
   Thread->new( \&rty, ($n, \&thr_prs));
}

sub rty {
    my ($url, $hash) = shift;
    my $ba = Mojo::UserAgent->new();
    my $res = $ua->max_redirects(5)->get($url);
    $hash->( $res ); 
}

sub thr_prs{
    my @hash = @_;
    foreach (@hash){
    my $dom = Mojo::DOM->new( decode('utf8', $_->res->body ) );
    };
}

That's actually the question, how can you create a combined link based on the name of the calling function, once again if data calls, pass a link to \&thr_data, if katya then to \&thr_katya, etc.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
M
mars natsuhiboshi, 2015-12-30
@mars_unique

my $thr = \&{"thr_$d"};

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question