-MB';$'F=shift
produces the arg
-MB;$F=shift
You're probably familiar with -M. It used to load a module. It does so by inserting
use MODULENAME;
into the source. In this case, MODULENAME is B;$F=shift, so
use B;$F=shift;
is inserted into the source. B is a core module. It's not being used at all by the program. The only purpose to load it is to execute $F=shift; before the -n loop with very few keystrokes. The following would also work; it's just not nearly as short:
'-MData::Dumper; $F=shift'
|