++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.
👁️ 😕 👓 😃
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.