Work internally with UTF-8
authorMarius Gavrilescu <marius@ieval.ro>
Thu, 29 Jan 2015 07:50:47 +0000 (09:50 +0200)
committerMarius Gavrilescu <marius@ieval.ro>
Thu, 29 Jan 2015 07:50:47 +0000 (09:50 +0200)
lib/POE/Component/IRC/Plugin/Hello.pm

index eb83848eebcdce6b60367b1605f6292c002fc43d..aa3380609bb82916ca4a87831311b8ac597eef29 100644 (file)
@@ -3,6 +3,9 @@ package POE::Component::IRC::Plugin::Hello;
 use 5.014000;
 use strict;
 use warnings;
+use utf8;
+use Encode qw/encode decode/;
+
 our $VERSION = '0.001002';
 
 use List::Util qw/first/;
@@ -38,10 +41,12 @@ sub S_public{
        my ($self, $irc, $rfullname, $rchannels, $rmessage) = @_;
        my $nick = parse_user $$rfullname;
        my $mynick = $irc->nick_name;
+       my $message = decode 'UTF-8', $$rmessage;
        my @hello = @{$self->{greetings}};
 
-       my $match = first { $$rmessage =~ /^\s*(?:$mynick(?:)[:,])?\s*$_\s*[.!]?\s*$/i } @hello;
-       $irc->yield(privmsg => $$rchannels->[0] => $hello[int rand $#hello].", $nick") if $match;
+       my $match = first { $message =~ /^\s*(?:$mynick(?:)[:,])?\s*$_\s*[.!]?\s*$/i } @hello;
+       my $randhello = encode 'UTF-8', $hello[int rand $#hello];
+       $irc->yield(privmsg => $$rchannels->[0] => "$randhello, $nick") if $match;
        PCI_EAT_NONE
 }
 
This page took 0.011249 seconds and 4 git commands to generate.