in reply to Cygwin/perl PATH oddities

What are the contents of %INC when it works and when it doesn't work? The only code in your snippet and IO::Prompt that depend on the path is use.

Wouldn't hurt to tell us what $IO::Prompt::VERSION is (again, when it works and when it doesn't work).

One possible source of newlines (in 0.99.4) is

sub _clear { return unless $_[0]; open my $OUT, ">/dev/tty" or croak "Cannot write to terminal: $!"; print {$OUT} "\n" x 60; $clearfirst = 0; }
But that requires -clear, -clearfirst or -f to be specified as far as I can tell.