From 6596c825589852b55a6b6780053d4ec658f0b689 Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Tue, 10 Aug 2010 18:04:25 -0400 Subject: [PATCH] what the fuck happened here! --- plugins/utf8.pm | 59 +------------------------------------------------ 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/plugins/utf8.pm b/plugins/utf8.pm index 96f70f7..6a91fe3 120000 --- a/plugins/utf8.pm +++ b/plugins/utf8.pm @@ -1,58 +1 @@ -# ------------------------ -# Originally by Mauke at: http://mauke.ath.cx/stuff/perl/unip -# ------------------------ - -use Unicode::UCD 'charinfo'; -use Encode qw/decode encode_utf8/; -use utf8; -use strict; - -sub speng { - my $x = shift; - - $x =~ /^0[0-7]+\z/ and return oct $x; - - $x =~ /^(?:[Uu]\+?|0[Xx])([[:xdigit:]]+)\z/ || ( - length($x) > 1 && $x =~ /^([[:xdigit:]]*[A-Fa-f][[:xdigit:]]*)\z/ - ) and return hex $1; - - $x =~ /^[0-9]+\z/ and return $x; - - return map ord, split //, $x -} - -sub unip { - my @pieces = @_; - my (@out, @err); - for (@pieces) { - my $chr = chr; - my $utf8 = join ' ', unpack '(H2)*', encode_utf8 $chr; - my $x; - unless ($x = charinfo $_) { - push @err, sprintf "U+%X (%s): no match found", $_, $utf8; - next; - } - push @out, "U+$x->{code} ($utf8): $x->{name} [$chr]"; - } - - \@err, \@out -} - -# ------------------------ -no warnings 'void'; - -sub { - my( $said, $pm ) = @_; - - utf8::decode( $said->{body} ); - - my ($err, $out) = unip map speng($_), split " ", $said->{body}; - - utf8::upgrade( $_ ) for @$err, @$out; - - print "Error: @$err\n" if @$err; - print "@$out\n"; -} - -__DATA__ -unicode U+2301; returns the unicode character and associated information given either a unicode character or one of the various ways you can specify a code point. +unicode.pm \ No newline at end of file