It seems to me you'll need to invent an encoding scheme
and build the required "normal" program string from a string consisting of characters in
the ord range 0-32 ... then use Perl's eval function (or perhaps s///ee) to evaluate it.
This looks like a tricky problem to me, especially for a Perl novice.
Many approaches are possible.
One way to get started is to use the s/// and
the y/// operators with a delimiter less than ord(32) like so:
s^Z^Z^A^B^C^D^E^F^G^H^Z;
y^Z^A^B^C^D^E^F^G^H^Za-z^Z;
print
where ^A to ^Z above are CTRL-A to CTRL-Z (i.e. chars with ord 1..26).
Running the little test program above produces:
abcdefgh
You may be able to extend this scheme to produce whatever 30 or so characters are required by a "normal" (unencoded) solution. Having generated the required program string, you could
replace the print above with eval.
That would seem to yield a solution of around 11 "characters" in length.
If you start down this road, you may find further inspiration
as you try out ideas.
Some old nodes from mtve might provide further ideas you could try:
-
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.
|