How to Search in Twitter with Perlでの検索

 まず、弁財天で掲示されているコードを試しました。Net::Twitter::Liteが必要ですので、それもインストールしました。以下のエラーは表示されますが、検索できたことは確かです。2バイトコードをプリントするという警告だし、結果も可笑しくなかったので、問題ないでしょう。
Wide character in print at ./twitter_lite_search.pl line 126.
それでも気持ちが悪いので、ウェブ上で検索してみることにしました。案の定同じ悩みを持っている人がいました。詳細は「【Perl 文字化け解決】Wide character in print atといふエラーが原因だったー」にありますが、結論は以下のコードを追加すれば、以上の警告はなくなるそうです。
 use encoding qw(shiftjis);
しかし、試してみたら、やはりだめでした。結局以下のコンビで警告はなくなりました。([perl] 文字列を print すると「Wide character in print at」と出力されて困った
use Encode;
print T encode('utf-8', $line);
引用もとに変化があると困るので、念のためにいかにそのコードをコピーしておきます。
 Net::Twitter::Liteの仕様はこちらです。

Net::Twiter::LiteでTwitterを検索するPerlのソースコード
#!/usr/bin/perl

use strict;
use warnings;
use utf8;
use Net::Twitter::Lite;
use Data::Dumper;

$|=1;

my %CONSUMER_TOKENS = (
    consumer_key    => 'xxxxxxxxxxxxxxxxxxxxx',
    consumer_secret => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    legacy_lists_api => 1,
    useragent_args => {'env_proxy' => 1, 'default_headers' => HTTP::Headers->new('Proxy-Address' => 'http://127.0.0.1:8118')}
);

my $ACCESS_TOKEN        = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
my $ACCESS_TOKEN_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

my $nt = Net::Twitter::Lite->new(%CONSUMER_TOKENS);

$nt->access_token($ACCESS_TOKEN);
$nt->access_token_secret($ACCESS_TOKEN_SECRET);

my $target=$ARGV[0];

my $fn = "$target" . ".txt";
open(T, ">>$fn") or die ("$!");

my $statuses;
my $status;
my $cnt = 0;
my $last_id = '0';

sub getSinceDate() {
 my $cur_time = time;
 my $time = $cur_time  - 2*86400 ; 
 my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time) ;
 my $since_date = sprintf("%02d",$mday) ;
 $year = $year + 1900 ;
 $mon = $mon + 1 ;
 $mon = sprintf("%02d",$mon) ;
 $since_date = $year."-".$mon."-".$since_date ;
 return $since_date ;
}

sub cleanup{
 my $str = shift ;
 if( !$str ) {
  print STDERR "empty str passed to cleanup  = $str \n";
  print $str ;
 }
 $str  =~ s/^\s+// ;
 $str  =~ s/\s+$// ;
 $str =~ s/\r//g ;
 $str =~ s/\s+/ /g ;
 return $str ;
} 

sub cleanup_source{
 my $source  =  shift ;

 if( !$source ) {
  print STDERR " empty source passed to cleanup_source $source  \n";
  print $source ;
 }
 $source  =~ s/<(.*?)>//g;
 return $source ;
}

my $since_date_param;

my $drug_id = 1;
my $search_term = $target ;
my $page ;
my $total_pages = 0; 
my $total_results = 0;
my $r ; 
my $tweet_content ;
my $tweet_time ;
my $tweet_url ;
my $tweet_id ;
my $tweet_username ; 
my $tweet_source ;
my $result_count ;
my $line ;

for($page=1;$page <= 100 ; $page++){
 $since_date_param = &getSinceDate() ;
 print STDERR "since_date_param $since_date_param \n";
 my %param = (
 page => $page ,
 rpp => 100 ,
 lang => 'ja',
 since => $since_date_param
 );

 $r = eval {$nt->search($search_term,{%param}) } ;
 if ($@) {
  warn "$@ this is the warning : sleeping for an hour \n";
  sleep(4000) ; 
   $since_date_param = &getSinceDate() ;
   my %param = (
   page => $page ,
   rpp => 100 ,
   lang => 'en',
   since => $since_date_param
   );
  $r = eval {$nt->search($search_term,{%param}) } ;
 }

 if ( scalar(@{$r->{'results'}}) > 0 ){
  $result_count =  scalar(@{$r->{'results'}}) ;
  $total_results +=  $result_count ;
  for(my $i = 0 ; $i < $result_count ; $i++){ 
   $tweet_content = $r->{'results'}[$i]{'text'} ;
   chomp($tweet_content) ;
   $tweet_time   =  $r->{'results'}[$i]{'created_at'} ;
   $tweet_id   =  $r->{'results'}[$i]{'id'} ;
   $tweet_username   =  $r->{'results'}[$i]{'from_user'} ;
   $tweet_source   =  $r->{'results'}[$i]{'source'} ;
   $tweet_content  = cleanup($tweet_content) ; 
   $tweet_source = cleanup_source($tweet_source) ;
   $line = "$tweet_username $tweet_id  $tweet_time $tweet_source $tweet_content";
   print T $line."\n" ;
  }
  if ( !(exists($r->{'next_page'}))){
         $total_pages = $page ;
   print STDERR " no more results: total pages for $search_term for $page \n"   ;
                        last ;
                  }
  #sleep(180) ;
 }
 else{
  $total_pages = $page  ;
  print STDERR " no more results total pages for $search_term are $total_pages \n"   ;
  last ;
 }
}

if (my $error = $@) {
  print STDERR "$error\n";
}

close(T);
exit(0);
# End of FILE.