I don't believe it can be done "legitimately" in six strokes. Only by "cheating". I have no experience of spoj competitions, but it looks like solutions are accepted automatically by a robot referee (i.e. without a human checking each submitted solution for correctness). With this sort of automated judging, part of the game (lamentably IMHO) is finding a way to trick the robot into accepting an invalid solution. In the past, cheating has been common at codegolf sites with automated judging.
In your spoj game, one (bizarre) rule that may be exploitable is:
Score equals to size of source code of your program except symbols with ASCII code <= 32.
Why on earth would they make such an arbitrary rule? This is not true golf IMHO. It's also possible there are bugs in their robot referee or test program for this particular game (e.g. a poor or very small set of fixed test data) which may be exploited. But, to me, this sort of activity is not really golf anymore; it's more akin to finding exploits to hack into web sites.
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:
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: