It is my understanding that Deparse sometimes does this. Your source-code is turned into an internal data structure, as discussed ad nauseum in perlguts, and this data structure ultimately determines what the interpreter does. It is no longer a direct representation of the original source-code, but rather a reflection of what the interpreter is actually going to do now. When you “de-parse” this back to a source-code form, the output reflects this internal data structure – its “execution plan” for this particular script. The output might not be identical, but it should be functionally equivalent.