in reply to A Strange print() predicament.

Here's a real direct way to do it:

{ my $variable_for_file = 'moose'; local *CORE::GLOBAL::print = sub {1}; local *CORE::GLOBAL::printf = sub {1}; do file.inc; }
That temporarily overrides perl's builtin print and printf with a no-op.

Update: This doesn't work - peer into the future and see !Overriding Builtin print.

After Compline,
Zaxo