updated code:
$_='@26^37#30%5e.37%32%25^36@39@21.36%65%40#37!34^40@32!30!40#32.32@40
+%34#61#26@32%65^21#34#31%40@32%65@21#35@30@5e.32.65@25.34.38^25^32%65
+!21@32.30#23&35@63!2e!36^65.25@32^32^40!33&62';l:$a = undef;@_ = spli
+t(/[\. # ! % & ^ @]/,$_);foreach $_(@_){$_=~ s/([a-fA-F0-9]{2})/chr(h
+ex $1)/eg;$a = $a.$_;}$_ = $a;system(($^O eq 'MSWin32') ?'cls':'clear
+');eval or goto l;
Here is my first attempt to obfuscate code. I basically took the code for printing J.A.P.H, converted its ascii to hex, and then took that ascii and converted it to hex. I wanted this program to work without knowing how many times the data had been converted. The only problem is that when the eval fails it prints text to the screen. It is removed with a cls/clear operation. Any ideas how to silence the eval warning? I tried 'no warnings' and it didn't work.
$_='%70^72#69.6e@74&20@22!4a&2e%20@41.2e.20.50!20!48&2e.5c@6e^22&3b@25
+!37!30^5e!37^32!23&36^39!2e^36%65%40@37#34!26%32!30^40^32^32!21#34.61
+#26#32!65^25!32^30@40!34&31@2e.32@65^2e#32&30^2e.35!30&21%32@30!21!34
+@38.26%32^65#2e@35&63!40&36#65!5e&32#32&26%33%62';l:$a = undef;@_ = s
+plit(/[\. # ! % & ^ @]/,$_);foreach $_(@_){$_=~ s/([a-fA-F0-9]{2})/ch
+r(hex $1)/eg;$a = $a.$_;}$_ = $a;system(($^O eq 'MSWin32')?'cls':'cle
+ar');eval or goto l;