c/fe

http://d.hatena.ne.jp/uzulla から移行しました。

冷蔵庫買ったんですよ、400L以上の冷蔵庫ってでかいですね。

それはさておき、やっとConfig::Pitつかうようになりましたよ。こいつぁ便利ですね、Windowsだと使い物にならない気もするけど。(EDITOR環境変数的に)

#!perl
# usage 
# perl this.pl < unfollow_id_list.txt 
use Net::Twitter;
use Config::Pit;
use Data::Dumper;
use feature say;

# config
my $config = pit_get("twitter.com_oauth_uzulla" , require => {
    "consumer_key" => "req", 
    "consumer_secret" => "req", 
    "ACCESS_TOKEN" => "req", 
    "ACCESS_TOKEN_SECRET" => "req", 
});
die 'pit_get failed.' if !%$config;
my $consumer_key    = $config->{consumer_key} or die 'consumer_key not found.';
my $consumer_secret = $config->{consumer_secret} or die 'consumer_securet not found.';
my $ACCESS_TOKEN = $config->{ACCESS_TOKEN} or die 'ACCESS_TOKEN not found.';
my $ACCESS_TOKEN_SECRET = $config->{ACCESS_TOKEN_SECRET} or die 'ACCESS_TOKEN_SECRET not found.';

#setup twitter
my $t = Net::Twitter->new(
      traits   => [qw/OAuth API::REST/],
      consumer_key        => $consumer_key,
      consumer_secret     => $consumer_secret,
      access_token        => $ACCESS_TOKEN,
      access_token_secret => $ACCESS_TOKEN_SECRET,
  );

#do
while(<>){
	$id = $_;
	say $id;
	my $res ;
	eval { $res = $t->destroy_friend($id) };
	warn "$@\n" if $@;
}

なんかNet::Twitter::Liteでdestoroy_friendがうまくうごかなかったんですよね。
Net::Twitterいれたらうごいたんですけど。
でもNet::Twitterも何回かやってたらうごいてないような見え方したし。

TwitterAPIは、特にフォローアンフォロー周りでよくわからない挙動するので(特に遅延)イヤですねえ…。

  • -

あと、Date::Parseを初めてしりましたね。

use Date::Parse;
use DateTime;
my $created_at_time = str2time('Thu Dec 09 11:59:52 +0000 2010'); 
$dt = DateTime->from_epoch(epoch => $created_at_time);
say $dt->ymd('/'); # -> 2010/12/09

PHPではstrtotimeってすごい便利な関数(大抵の時刻フォーマットテキストを、UNIX秒にもどしてくれる)があるんですけど、まさにそれですね。
いやこれ本当にないとぼくは目から血が噴き出して死ぬんですが、やっとみつけたわー。
きっとDateTime周りにあるんだろう…いつかは見つかるだろう…と思いつつ、いつも頑張ってパースしてたんですけど、そんなところじゃなかったんですねえ…。