ルモーリン
ホーム更新サービス雑談ランドナーコースガイド鉄ゲタ自転車Linuxリンク連絡先

リテラルで置換

こんなツイートを見つけたので

書いてみた

リテラルで半角を全角に置換しても良さそうなので試してみよう。
#!/usr/bin/env perl -w

use utf8;
use strict;
use warnings;

use open IO => ":utf8";
use Encode::Argv;
use Encode::Locale;

binmode STDIN, ":encoding(console_in)";
binmode STDOUT, ":encoding(console_out)";
binmode STDERR, ":encoding(console_out)";

$| = 1;

my $str = "ニューヨーク シティボーイ";
print "$str\n";

$str =~ s/ / /;
print "$str\n";

exit;

実行結果

Windows7(Perl 5.26)とCentOS(Perl 5.24)で同じ結果になりました。
ニューヨーク シティボーイ
ニューヨーク シティボーイ
件の記事では文字コードを指定して解決していますから、おそらくリテラルで失敗したのだろうと推測します。 どうして起きてしまうのか興味深いです。