++eyepopslikeamosquito's post (a reply in an unrelated SoPW thread) inspired me to look at
Acme::EyeDrops.
After playing around with that module for a bit, I realised that some of the obfucation code images
looked a bit like blown-up versions of emoji.
It then occurred to me that not only could I get large, very easy to see, representations of emoji,
but I could also use those images to get back the original Unicode® emoji character.
Here's a couple of examples.
Firstly, a very straightforward one that only required one shape.
$ perl -C -e 'print "\x{1f56f}\n"'
🕯
$ cat candle.txt
(
( (
( (
( ( ( (
(
( ( ( ( ( (
''
) ) ))) ) ) ) )
) )))))
) =~("\(". (
( '?')).'{' . (
( '`')|'%')
.('['^ ( '-')
) . ( '`'|'!')
. ('`'|"\,").
'"'.('['^"\.").(
'['^'(').('`'|('%')).(
'{'^'[').('`'|'/').(('[')^
'+').('`'|'%').('`'|'.').(
'{'^'[').('['^'*').("\["^
',').'\\'.'{'.':'.(('[')^
'(').('['^'/').('`'|'$').(
'{'^'[').':'.('`'|'%').('`'
|'.').('`'|'#').('`'|"\/").(
'`'|'$').('`'|')').(('`')|
'.').('`'|"'").'('.(('{')^
'.').('{'^'/').('`'^'&'
).'-'.(':'&'=').')'.''.
'\\'.'}'.';'.('!'^'+').
('['^'+').('['^(')')).(
'`'|')').('`'|'.').('['
^'/').('{'^'[').('\\').
'"'.'\\'.'\\'.('['^'#')
.'\\'.'{'.('^'^('`'|'/'
)).('`'|'&').('^'^('`'|
( '+'))).('^'^('`'|'(')).
('`'|'&') .'\\'.'}'.'\\'.('\\').( ( (
'`'))|('.')). '\\'.'"'.';'.('!'^'+'). ( '"')."\}".
')');$:='.'^"\~"; $~='@'|'(';$^=')'^"\["; $/='`'|'.';$,='('
^+ '}';$\='`'|'!';$:=')'^'}';$~='*'|'`' ;$^='+'^'_';$/="\&"|
(( '@'));$,='['&'~';$\=','^'|';$:='.'^'~';$~='@'|'(';
($^) =')'^'[';$/='`'|"\."; $, = ( (
( '(')))^"\}";
$\='`'|'!';$:=
')'^'}';$~='*'|'`'
;$^='+'^'_';$/='&'
|(( '@' ));
$ perl -Mre=eval candle.txt
🕯
And a tad more complicated one that required two shapes.
$ perl -C -e 'print "\x{1f459}\n"'
👙
$ cat bikini.txt
''=~('('. '?'.'{'.(
(( (( (( ((
(( (( (( ((
(( (( ( ((
(( (( (( ((
(( (( (( ((
(( (( (( (
(( (( (( ((
(( (( ( (
(( ( (( ((
( (( (( ((
( (( (( ((
( ( (( ((
( (( (( ((
(( ( (( (
(( (( ( ((
(( (( (( '`'
)))) ) )) ))))
))))) )) )) ))))))
))))))) )) )) )))))))
))))))))) )) )) )))))))))
))))))))))))) )))))))))))))
))))))))))))) ))))))))|'%').
('['^'-').('`'| '!').('`'|"\,").
'"'.('['^'.').('['^ '(').('`'|('%')).(
'{'^'[').('`'|"\/").( '['^'+').('`'|('%')).(
'`'|'.').('{'^'[').("\["^ '*').('['^',').'\\'.('{').
':'.('['^'(').('['^('/')).( '`'|'$').('{'^'[').':'.("\`"|
'%').('`'|'.').('`'|'#').('`'|'/').('`'|'$').('`'|')').('`'
|'.').('`'|"'").'('.('{'^'.').('{'^'/').('`'^'&').('-').(
':'&'=').')'.'\\'.'}'.';'.('!'^'+').('['^'+').('['^')')
.('`'|')').('`'|'.').( '['^'/').('{'^('[')).
'\\'.'"'.('\\'). '\\'.('['^'#').
'\\'.'{'. ('^'^('`'
|'/')).('`'|'&').('^'^('`'|'*')).('^'^('`'|'+')).((';')&
'=').'\\'.'}'.'\\'.'\\'.('`'|'.').'\\'.'"'.';'.('!'^'+')
.'"'.'}'.')');$:='.'^'~';$~='@'|'(';$^=')'^'[';$/=('`')|
'.';$,='('^'}';$\='`'|'!';$:=')'^'}';$~='*'|'`';$^="\+"^
'_';$/='&'|'@';$,='['&'~';$\=','^'|';$:='.'^'~';$~="\@"|
'(';$^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!';$:="\)"^
'}';$~='*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\
=','^'|';$:='.'^'~';$~='@'|'(';$^=')'^'[';$/
='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^
'}';$~='*'|'`';$^='+'^'_';$/="\&"|
'@';$,='['&'~';$\=','^"\|";$:=
'.'^'~';$~='@'|'(';$^=')'^
'[';$/='`'|'.';$,=('(')^
'}';$\='`'|'!';$:=')'^
'}';$~='*'|('`');$^=
'+'^'_';$/='&'|'@'
;$,='['&"\~";$\=
','^'|';$:='.'
^'~';$~=('@')|
'(';$^="\)"^
'[';$/="\`";
$ perl -Mre=eval bikini.txt
👙
In case you were wondering why one is coloured and the other isn't:
CANDLE (U+1F56F) does not have the Emoji_Presentation property, so it defaults to text style;
BIKINI (U+1F459) does have that property, so it defaults to emoji style.
If this interests you, see "Text vs Emoji, v13.1" for specific information,
and "Unicode® Emoji Charts v13.1" for links to more general discussions.
Finally, in case it wasn't obvious, this was intended as a bit of tongue-in-cheek fun.
My eyesight is not so poor that I need foot-high images to tell one emoji from another.
👁️ 😕 👓 😃