in reply to Re^2: I put the J in JAPH
in thread I put the J in JAPH
It occurred to me that you could remove ALL of the quotation marks, by carrying the idea further ...
How it works ...sub I {$O=$_[0]} sub put {$_[0]} sub the {$_[0]} sub J {'J'.$_[0]} sub in {$_[0]} sub RAPH {82.65.80.72} sub remove {$O=~s~$_[0]~~;print$O."\n"} sub R {'R'} I put the J in RAPH and remove the R
|
First, delineating the order of evaluation:
Expression: (I (put (the (J (in (RAPH)))))) and (remove (the (R)))
Subroutines "put", "the" and "in" just return their single argument, so
they are all effectively NOOPs. This reduces the expression to:
Expression: (I ( ( (J ( (RAPH)))))) and (remove ( (R)))
= Expression: (I (J RAPH)) and (remove R)
Now, subroutine "RAPH" returns "RAPH", and subroutine "J" prepends a 'J' to
the argument passed to it. So (J RAPH) equates to "JRAPH":
Expression: (I "JRAPH") and (remove R)
Then, subroutine "I" assigns its argument to $O (the variable is an
uppercase 'o', for "obscure:, "obtuse", and "obfuscated" :-). Finally, the
subroutine "remove" takes a single argument (in this case 'R', which was
returned from subroutine "R"), removes it from the variable $O, and prints
the result.
Result: [$x set to "JRAPH"] and [$x =~ s/R//, and then print $x]
Note that it also causes remove() to actually perform the remove. |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: I put the J in JAPH
by fishbot_v2 (Chaplain) on Sep 19, 2005 at 14:00 UTC | |
by liverpole (Monsignor) on Sep 19, 2005 at 14:21 UTC | |
|
Re^4: I put the J in JAPH
by muba (Priest) on Sep 18, 2005 at 18:34 UTC |