我正在使用 Net::Twitter::Lite,我想发布带有斜体部分的文本。我了解到使用 Unicode 可以做到这一点:http: //mothereff.in/twitalics有 Java 脚本代码,但我不明白。有没有相同的 Perl 代码?或者有人可以解释一下 JavaScript 的作用,以便我可以在 Perl 中做同样的事情。
问问题
210 次
2 回答
7
该程序将字符串转换为斜体,使用 Unicode 字符作为数学符号。
#!/usr/bin/perl -CS
use strict;
use warnings;
use 5.010;
use charnames ':full';
my $out;
foreach (@ARGV) {
foreach my $char (split //) {
if ($char =~ /[A-Z]/) {
my $charname = "MATHEMATICAL ITALIC CAPITAL $char";
$char = charnames::string_vianame $charname;
} elsif ($char =~ /[a-z]/) {
my $charname = 'MATHEMATICAL ITALIC SMALL ' . uc $char;
$char = charnames::string_vianame $charname;
}
$out .= $char;
}
}
say $out;
于 2013-10-10T10:45:25.043 回答
0
如果您有旧版本的 Perl,您可以使用以下内容:
#!/usr/bin/perl
binmode(STDOUT, ":utf8");
$output="";
foreach (@ARGV)
{
foreach $char (split //)
{
if ($char =~ /[A-Z]/) {$d=119860-65+ord($char); $char = pack("U",$d)}
if ($char =~ /h/) {$char="\x{210e}"}
if ($char =~ /[a-z]/) {$d=119886-97+ord($char); $char = pack("U",$d)}
$output .= $char;
}
}
print "$output\n";
于 2015-08-08T13:39:19.940 回答