Perl日記

PerlとかRubyとかPHPとかPythonとか

二重引用符中の認識されないエスケープシーケンス

二重引用符(ダブルクオート)の中にバックスラッシュを置くとき、
「\n」とか「\t」とかのエスケープシーケンスは展開されるけれど、
「\j」のような言語が認識できないようなものがどうなるか、言語間で差が出たのでメモ。

Perl

print "$]\n";
print "\j\n";
5.020002
j

Ruby

puts RUBY_VERSION
puts "\j"
2.2.1
j

PHP

<?php
echo phpversion()."\n";
echo "\j\n";
5.6.6
\j

Python

import sys
print(sys.version_info)
print("\j")
sys.version_info(major=3, minor=4, micro=3, releaselevel='final', serial=0)
\j

まとめ

PerlRubyはバックスラッシュが消えたけれど、PHPPythonは残った。