The constructor of Data::Serializer takes a "digester" string which is later passed on to Digest: Digest->new($digester); (line 668)
I can't find any "use" or "require" statements but I think (correct me if I am wrong) Data::Serializer uses this line to load modules: eval { require $package }; (line 187) Since the Digest method is passed as string, I think Data::Serializer uses "SHA-256" (that's the default and I don't pass a different parameter to Data::Serializer). Command: pp -vvv -x -M Digest::SHA -o my_program.exe my_program.pl Compiles: Yes Runs: No Error: Same as before ---------------------------------------------------------------------- Command: pp -vvv -x -M Digest -o my_program.exe my_program.pl Compiles: Yes Runs: No Error: Same as before No, it doesn't work with -M Digest::SHA. Regards, Nele