There's still a flaw with the conflict-detection in LWP's Makefile.PL that prevents /usr/bin/head from being overwritten by HEAD on Mac OS X. The problem is that MakeMaker uses $Config{installscript} as the installation location for EXE_FILES items, not $Config{sitebin} as was assumed in the code. Therefore the conflict never gets detected when those two paths are different.
The patch below is against LWP 5.69.
-Ken
============================================================= --- Makefile.PL-orig Fri Jul 11 10:03:30 2003 +++ Makefile.PL Fri Jul 11 10:08:46 2003 @@ -87,7 +87,7 @@ print <<EOT;
This package comes with some sample programs that I can try -to install in $Config{sitebin}. +to install in $Config{installscript}.
Note that you can avoid these questions by passing the '-n' option to 'Makefile.PL'. @@ -108,7 +108,7 @@ The lwp-request program will use the name it is invoked with to determine what HTTP method to use. I can set up alias for the most common HTTP methods. These alias are also installed in -$Config{sitebin}. +$Config{installscript}.
EOT my @tmp; @@ -116,7 +116,7 @@ my $default = "y"; # check that we don't overwrite something unrelated with # the current defaults. - if (open(PROG, "<$Config{sitebin}/$alias")) { + if (open(PROG, "<$Config{installscript}/$alias")) { $default = "n"; while (<PROG>) { if (/lwp-request/) { =============================================================