#!/usr/bin/perl -- use utf8; use strict; use warnings; use XML::Twig; use Data::Dump qw/ dd /; my $rawl = q{C1000 マネージャーソフトウェア}; my $rawe = "C1000 \x{30DE}\x{30CD}\x{30FC}\x{30B8}\x{30E3}\x{30FC}\x{30BD}\x{30D5}\x{30C8}\x{30A6}\x{30A7}\x{30A2}"; for my $raw ( $rawl, $rawe ){ my $t = XML::Twig->new( pretty_print => 'indented' )->xparse( "" ); $t->findnodes('//q', 0 )->set_content( $raw ); dd( $raw, $t->findnodes('//q',0)->trimmed_text, $t->sprint, ); #~ $t->print( \*STDOUT ); #~ $t->print_to_file( 'outfoo.xml' ); } __END__ ( "C1000 \x{30DE}\x{30CD}\x{30FC}\x{30B8}\x{30E3}\x{30FC}\x{30BD}\x{30D5}\x{30C8}\x{30A6}\x{30A7}\x{30A2}", "C1000 \x{30DE}\x{30CD}\x{30FC}\x{30B8}\x{30E3}\x{30FC}\x{30BD}\x{30D5}\x{30C8}\x{30A6}\x{30A7}\x{30A2}", "\n \n C1000 \x{30DE}\x{30CD}\x{30FC}\x{30B8}\x{30E3}\x{30FC}\x{30BD}\x{30D5}\x{30C8}\x{30A6}\x{30A7}\x{30A2}\n \n\n", ) ( "C1000 \x{30DE}\x{30CD}\x{30FC}\x{30B8}\x{30E3}\x{30FC}\x{30BD}\x{30D5}\x{30C8}\x{30A6}\x{30A7}\x{30A2}", "C1000 \x{30DE}\x{30CD}\x{30FC}\x{30B8}\x{30E3}\x{30FC}\x{30BD}\x{30D5}\x{30C8}\x{30A6}\x{30A7}\x{30A2}", "\n \n C1000 \x{30DE}\x{30CD}\x{30FC}\x{30B8}\x{30E3}\x{30FC}\x{30BD}\x{30D5}\x{30C8}\x{30A6}\x{30A7}\x{30A2}\n \n\n", )