rendered paste body#!/usr/bin/perl -w
use strict;
use utf8;
use Encode;
BEGIN {
if(!$ARGV[0]) {
print "Usage: $0 <word>\n";
exit(1);
}
}
binmode(STDIN, ':utf8');
binmode(STDOUT, ':utf8');
my $kanji = $ARGV[0];
Encode::from_to($kanji, 'utf-8', 'shift-jis');
my $hira = `echo $kanji|kakasi -JH -f`;
$hira = decode('shift-jis', $hira);
$hira =~ s/^(.*)\[(.*)\](.*)$/$1 $2 $3/;
my($k, $h, $o) = split(' ', $hira);
my @array = split(//, $h);
for(my $i = length($h)-1; $i >= 0; $i--) {
if($array[$i] eq substr($h, -1, 1)) {
my $kTemp = substr($k, -1, 1, '');
$k =~ s/$kTemp$//;
$h =~ s/$kTemp$//;
}
}
$h =~ s/$k$//;
if($ARGV[1]) {
if($ARGV[1] eq 'romaji') {
$h = encode_utf8($h);
Encode::from_to($h, 'utf-8', 'shift-jis');
my $romaji = `echo $h|kakasi -Ha -f`;
chomp($romaji);
print $romaji, "\n";
}
}else{
print $h, "\n";
}