Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Deobfuscate code from vim

by nferraz (Monk)
on Aug 28, 2008 at 09:53 UTC ( #707431=note: print w/replies, xml ) Need Help??

in reply to .vimrc for perl programmers

Here's a small trick to deobfuscate code directly from vim, using B::Deparse. All you have to do is to put this in your vimrc:
" Deparse obfuscated code nnoremap <silent> _d :.!perl -MO=Deparse 2>/dev/null<cr> vnoremap <silent> _d :!perl -MO=Deparse 2>/dev/null<cr>
Now, whenever you want to deparse a portion of the code, just press _d. For example, this line:
Magically becomes:
s/\n/-/ if --$|;
I find this particularly useful when I have to work with code that abuses Perl's TIMTOWTDIness:
$foo and $bar or $baz = 1;
(Now imagine a three-lines long statement where the attribution comes at the end.) Using B::Deparse, the code becomes more legible:
$baz = 1 unless $foo and $bar;
Unfortunatelly, B::Deparse has it own limitations; but I think this technique can be really useful in some situations.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://707431]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (8)
As of 2016-09-30 14:13 GMT
Find Nodes?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:

    Results (569 votes). Check out past polls.