$ perl -MO=Deparse,-p -e 'map chr hex, @code_points'
map(chr(hex($_)), @code_points);
The behavior of chr and hex can be achieved with the (_) prototype, though prototypes are one of those "only use this if you know what you are doing" kind of thing because they change how Perl code is actually parsed (see also).
Parentheses can be omitted in calls to subs which the compiler has already seen.
$ perl -wMstrict -le 'sub foo {} foo "bar"' # ok
$ perl -wMstrict -le 'sub foo {} foo("bar")' # ok
$ perl -wMstrict -le 'foo("bar"); sub foo {}' # ok
$ perl -wMstrict -le 'foo "bar"; sub foo {}' # fails
String found where operator expected at -e line 1, near "foo "bar""
(Do you need to predeclare foo?)
syntax error at -e line 1, near "foo "bar""
Execution of -e aborted due to compilation errors.
The only thing special here is map and grep, which have as an alternative to their map {...} ... and grep {...} ... forms the map ..., ... and grep ..., ... forms. The former two can be emulated using prototypes (e.g. (&@)), while the latter two can't. |