使用Perl将斜体发布到Twitter

时间:2013-10-10 06:44:47

标签: javascript perl twitter unicode

我正在使用Net :: Twitter :: Lite,我想发布带有斜体的部分文本。我了解到这可以通过Unicode实现:http://mothereff.in/twitalics有Java脚本代码,但我不明白。是否有一些Perl代码执行相同的操作?或者有人可以解释JavaScript的功能,以便我可以在Perl中做同样的事情。

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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";