Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 57008
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: Robin Barker (no email address)
Cc:
AdminCc:

Bug Information
Severity: Unimportant
Broken in: 6.56
Fixed in: (no value)



Subject: Inconsistent use of print v. print STDOUT
The code contains "warn" and explicit "print STDERR" and similarly "print STDOUT" and implicit "print". Most curious is the following code snippet, with an implicit "print" hidden in some explicit "print STDOUT". my(@missed) = ExtUtils::Manifest::manicheck(); if (@missed) { print STDOUT "Warning: the following files are missing in your kit:\n"; print "\t", join "\n\t", @missed; print STDOUT "\n"; print STDOUT "Please inform the author.\n"; } else { print STDOUT "Looks good\n"; } Do these different forms of warn/print have any significance? Should they be made consistent, so that other idle patchers do not worry that there is a significance?
Subject: Re: [rt.cpan.org #57008] Inconsistent use of print v. print STDOUT
Date: Wed, 28 Apr 2010 10:04:38 -0700
To: bug-ExtUtils-MakeMaker [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
On 2010.4.28 6:31 AM, Robin Barker via RT wrote: Show quoted text
> The code contains "warn" and explicit "print STDERR" and similarly > "print STDOUT" and implicit "print". Most curious is the following code > snippet, > with an implicit "print" hidden in some explicit "print STDOUT". > > my(@missed) = ExtUtils::Manifest::manicheck(); > if (@missed) { > print STDOUT "Warning: the following files are missing in your > kit:\n"; > print "\t", join "\n\t", @missed; > print STDOUT "\n"; > print STDOUT "Please inform the author.\n"; > } else { > print STDOUT "Looks good\n"; > } > > Do these different forms of warn/print have any significance? > Should they be made consistent, so that other idle patchers do not worry > that there is a significance?
Short story: there's no significance. I'd appreciate any normalization you want to do. Long story: it appears most of that has been in there since before I took the module over (you can see it with "git blame"). I don't see any reason why, except maybe an ultra paranoid desire to work even in the face of a runaway select(). It might be a hold over style from this sort of thing: http://github.com/schwern/extutils-makemaker/blob/historical/lib/ExtUtils/MakeMaker.pm#L1824 Where there's mixed printing to STDOUT and printing to a file and the style wanted to make it explict what to do. -- Reality is that which, when you stop believing in it, doesn't go away. -- Phillip K. Dick
According to the EUMM repository commit history, commit https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/97a8247fe2d726f80a1d6506fae6a1d3f2853908 resolved this issue. Many thanks.