http://www.perlmonks.org?node_id=142920


in reply to Ghost in the machine.

Could you explain how this is possible?

I've grepped through CPAN/*.pm, but I've failed to find any relevant code.

Replies are listed 'Best First'.
Re: Re: Ghost in the machine.
by jmcnamara (Monsignor) on Feb 02, 2002 at 22:18 UTC

    This is more artifice than obfuscation.

    The "& _ x ord $ ;" code is used to convert my lowercase PerlMonks ID jmcnamara to my uppercase CPAN directory JMCNAMARA. I could have used uc but I thought that I should put in a little effort. ;-)

    # The following are equivalent perl -MCPAN -e 'install jmcnamara & _ x ord $ ;' perl -MCPAN -e 'install "jmcnamara" & ( "_" x ord($;) )' perl -MCPAN -e 'install "jmcnamara" & ( "_" x 28 )' # With bitwise string "&" the longer string is truncated # to the length of the shorter string. Therefore: perl -MCPAN -e 'install "jmcnamara" & ( "_" x 9 )' perl -MCPAN -e 'install "jmcnamara" & "_________"' perl -MCPAN -e 'install JMCNAMARA'

    Running this will cause CPAN to generate an error because you are trying to install a directory instead of module (or bundle). This helpfully translates my PerlMonks name into my real name. Here is the output as seen through tail -l.     Don't be silly, you can't install John McNamara ;-)

    This error message is buried in CPAN.pm.

    --
    John.