- From the Editor
- The Login
- The Mentality
- Perl Culture
- Intro to Perl Bots v3
- Anomalies of Code
- Last Months Challenge
- This Months Challenge
- Rexor
- Cascading Style Sheets
- INTRO
- SYNTAX
- APPLYING CSS TO YOUR PAGE
- Header Tag
- Header Tag
- Text
- Background
- Classes
- Lists
- Virtual Private Networks
- Cryptool Review
- Post of the Month
- Leadership Part B
- China Attacks!
- Former Staff Bio: Mar A1B4
- Fun Stuff
- Ping-pong fun
- Gaussian Gun
- My Music
- Viral Videos
- interesting videos
- Contact Us!
Anomalies of Code
Last Months Challenge
-
sub don‘t(&){}
-
-
do {print "Stuff"}
-
This is yet another Perl caveat. The name space of Perl typically looks like Package::Class::And::So::On. The last element can be referenced as a subroutine. Old Perl notation allowed for the delimiter to be a single quote. The system was changed around Perl 5 to have name spaces resemble C name spaces. The old way wasn’t really removed, partly because, if it isn’t broke, don’t fix it. So therefore the first line can be better written as:
-
sub don::t(&){}
The fancy (&) that you see means that the subroutine is expecting to get a subroutine as one of its parameters.
So the magic! When you pass code to “don’t” it doesn’t do anything with the code. Or for that matter anything at all. It does nothing. There are some minor things.
This was originally done by Damian Conway
This Months Challenge
This one i don’t even think i will be able to explain all that well, if at all.
It is in C
-
#include
-
main(int t,char _,char *a)
-
{
-
return!0<3?main(-79,-13,a+main(-87,1-_,main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a )&&t== 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,t,"@n’+,#’/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\,/+#n+,/#;#q#n+,/+k#;*+,/’r :’d*’3,}{w+K w’K:’+}e#’;dq#’l q#’+d’K#!/\+k#;q#’r}eKK#}w’r}eKK{nl]’/#;#q#n’){)#}w’){){nl]’/+#n’;d}rw’ i;# ){n\l]!/n{n#’; r{#w’r nc{nl]’/#{l,+’K {rw’ iK{;[{nl]‘/w#q#\ n’wk nw’iwk{KK{nl]!/w{%’l##w#’ i; :{nl]’/*{q#’ld;r’}{nlwb!/*de}’c \;;{nl’-{}rw]’/+,}##’*}#nc,’,#nw]’/+kd’+e}+;\#‘rdq#w! nr’/ ‘) }+}{rl#’{n’ ‘)# }’+}##(!!/") :t<-50?_==*a?putchar(a[31]):main(-65,_,a+1):main((*a == ‘/’)+t,_,a+1 ):0
-
}
-
-
….
-
….
-
….
-
….
-
….
-
….
-
….
-
….
-
….
-
….
-
….
-
….
-
….