in reply to Difference between old and new

Sorry, there appears to be insufficient information.

The shared /xxx mount does not appear to be relevant: you're successfully loading the DMDCombo2 module, or you would get an error from the new() call before you reached the print. It is also not reaching the two lines from the new method that you show: if $self were undef at that point, you would get an error like "Can't bless non-reference value". So something is going wrong within that new() method, causing it to return an undef before it reaches the final two lines.

If you cannot show its code, nor a cut-down or sanitised version of it that exhibits the same error, I suggest the following steps: 1) copy the module to somewhere local on the linux box, modify the use lib statement appropriately, and satisfy yourself that the shared mountpoint is not the cause of the issue; 2) add diagnostics in the new() method in this copy to see which lines it is executing and understand where it is returning.

It will almost certainly be hitting an explicit return statement in that new() method, but diagnostics should easily make it clear where it is reaching; if the answer is not obvious at that point, you will at least have more information to share with us.