Twitter search api

Net::Twitterを使ってTwitter search APIを出力する
環境 windows xp sp3 lenovo s10e(netbook)
ppmからconfig::pitがインストールできないのでログイン情報はそのまま)

#!/usr/bin/perl
use strict;
use warnings;
use Encode;
use Encode::Guess qw/ shiftjis euc-jp 7bit-jis utf8 /;
use Net::Twitter;

my $username ='username'; #username
my $pass = 'password'; #password


my $twit = Net::Twitter->new(
                              username => $username,
                              password => $pass,
                            ); 
my $query = 'twitter'; #検索ワード:今回は'twitter'

my $response = $twit->search($query);

my @lines;
while ( my ($key, $value) = each %{ $response } ){
	print $key."::".$value,"\n";
}

出力
page::1
query::twitter
completed_in::0.031903
refresh_url::?since_id=2813960057&q=twitter
next_page::?page=2&max_id=2813960057&q=twitter
results_per_page::15
max_id::2813960057
results::ARRAY(0x2bafb2c)
since_id::0

results 出力

my $twit = Net::Twitter->new(
                              username => $username,
                              password => $pass,
                            ); 
my $query = 'twitter';

my $response = $twit->search($query);

my @lines;
foreach my $key ( @{ $response->{results} } ){
	while ( my ($res_key , $res_val) =  each %{ $key }  ){
		print $res_key."::".$res_val,"\n";
	}
}

出力
15件出力されるが1件分
source::<a href="TweetMeme">http://tweetmeme.com">TweetMeme
Use of uninitialized value in concatenation (.) or string at twitter_search_hash
.pl line 23.
to_user_id::
created_at::Fri, 24 Jul 2009 07:08:50 +0000
Wide character in print at twitter_search_hash.pl line 23.
text::RT @tweetmeme Twitter 101 for Business 窶・A Special Guide http://cli.gs/u
LA2z
profile_image_url::http://s3.amazonaws.com/twitter_production/profile_images/329
564050/avatar_3714_normal.jpg
from_user_id::30879573
id::2814645841
iso_language_code::en
from_user::bea3300

resultsの中の任意の値を配列に収める

今回はtext, id , userを配列に収める。

my $twit = Net::Twitter->new(
                              username => $username,
                              password => $pass,
                            ); 
my $query = 'twitter';

my $response = $twit->search($query);

my @lines;
foreach my $key ( @{ $response->{results} } ){
	my $text = decode('Guess', $key->{text} );
	my $id = $key->{id};
	my $user = $key->{from_user};
	push @lines, ( join(":::", $user, $id, $text ) );
}

for (@lines) {
	print $_,"\n";
}

出力は
user:::id:::text
で15件出力される。