in reply to binmode and one-liners

Sorry for the reply after 16 years. You can do the trick like this:
$ perl -lnE 'BEGIN { eof(); binmode ARGV, ":encoding(cp936)";} say' a. +txt b.txt
Inspired by the answer here: How do I read UTF-8 with diamond operator (<>)?