#!/usr/bin/perl use Encode; $base = "http://www.horobi.com/hatena"; my $super_pre_mode = 0; my $tw_mode = 0; my $tw_profile_mode = 0; my %tw_last_sid = {}; while(<>){ if ($super_pre_mode) { if (/^||<$/) { $super_pre_mode = 0; } print $_; next; } if (/^>\|[^|]*\|$/) { $super_pre_mode = 1; } elsif (/^>tw>$/) { $tw_mode = 1; print ">
\n"; next; } elsif (/^<<\n"; $tw_mode = 0; next; } } elsif (/^\|/ && $tw_mode) { my ($x, $uid, $name, $web, $bio) = split /\|/; &print_tw_profile($uid, $name, $web, $bio); next; } elsif ($tw_mode) { chomp; my ($from, $message) = /^([^:]*):(.*)$/; $_ = $from; my ($user) = /^([^\/]*)/; my ($sid) = /^[^\/]*\/(.*)$/; #print "from: http://twitter.com/$user/status/$sid\n"; #print "message: $message\n"; &print_tw_status($user, $sid, $message); $tw_last_sid{$user} = $sid; next; } elsif (/^img:([^:]+):((right|left|\+):)?(.*)/) { # img tag $file = $1; $align = $3; $title = $4; $_ = "\"$title\"";"; } else { $_ .= ">\n"; } } elsif (/\[img:[^:\]]+:[^\]]*\]/) { $_ =~ s/\[img:([^:\]]+):([^\]]*)\]/\"$2\"/g; } # wikipedia inline-tag #s/\[wikipedia:([^\]]+)\]/&word_to_wpurl($1)/ge; print $_; } sub word_to_wpurl { my $word = shift; my $uword = $word; Encode::from_to($uword, "euc-jp", "utf-8"); return "wikipedia:$word"; } sub encode_url { my $url = shift; $url =~ s/([^0-9A-Za-z_ ])/"%".unpack("H2",$1)/ge; return $url; } sub print_tw_profile() { my ($uid, $name, $web, $bio) = @_; print < $uid/$name
Name $name
Web $web
Bio $bio

END ; } sub print_tw_status() { my ($user, $sid, $message) = @_; $message =~ s/@([a-zA-Z0-9_]+)/\@$1<\/a>/g; print < END ; }