0

私は Net::Twitter::Lite を使用しており、斜体の部分を含むテキストを投稿したいと考えています。これが Unicode で可能であることを学びました: http://mothereff.in/twitalics Java-Script コードがありますが、理解できません。同じことをする Perl コードはありますか? または、Perl で同じことができるように、JavaScript が何をするかを誰か説明してもらえませんか。

4

2 に答える 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 に答える