2012-03-06 26 views
7
#!/usr/bin/env perl 
use warnings; 
use 5.012; 
use utf8; 

use WWW::Mechanize::Cached; 
use Some::Module qw(some_method); 

my $url = '...'; 
my $result = some_method($url); 

some_method()は、それ自体get()フォームLWP::Simpleを使用します。
my_get()get()を上書きするにはどうしたらいいですか?モジュールメソッドで使用されている関数を上書きする方法は?

sub my_get { 
    my $url; 
    my $mech = WWW::Mechanize::Cached->new(); 
    $mech->get($url); 
    my $content = $mech->content(format => 'text'); 
    return $content; 
} 

答えて

10
sub WWW::Mechanize::Cached::get { 
    # your code 
} 

OR、get方法は、あなたが質問に暗示するように、シンプル:: LWPから継承され、実際にある場合 -

sub LWP::Simple::get { 
    # your code 
} 
+1

あなたがオーバーライドしたいモジュールをロードしていることを確認しますこれを行う前に 'no warnings 'redefine'をしたいかもしれません。 _Mastering Perl_でこのことについて広範囲に話します。この質問には全章があります。 :) –

関連する問題