in reply to Term::Prompt breaks say in Modern::Perl because of Term::Readkey (edited, was "Modern::Perl and cygwin")

it's not just cygwin. On my debian stretch/sid at home I get the following:

gargle@msi:~$ perl -e 'use Term::Prompt qw/prompt/; use Modern::Perl; +{ my $p = (1==1) ? 0 : prompt( "y", "", "", "") } { local $\="\n"; pr +int "the quick brown fox" } { local $\="\n"; print "jumps over the la +zy dog." };' the quick brown fox jumps over the lazy dog.
gargle@msi:~$ perl -e 'use Term::Prompt qw/prompt/; use Modern::Perl; +{ my $p = (0==1) ? 0 : prompt( "y", "", "", "") } { local $\="\n"; pr +int "the quick brown fox" } { local $\="\n"; print "jumps over the la +zy dog." };' (y or n) [default n] the quick brown foxjumps over the lazy dog.gargle@msi:~$

Do other people see the same kind of behaviour?

Debian runs perl v5.24.1, Term::Prompt 1.04, Modern::Perl 1.20150127

--
if ( 1 ) { $postman->ring() for (1..2); }

Replies are listed 'Best First'.
Re^2: Modern::Perl and cygwin
by Anonymous Monk on Feb 08, 2017 at 19:46 UTC
    I can confirm the save behavior on my Ubuntu server running the same versions of those CPAN modules.
      Try downgrading your Term::Readkey to 2.33 or 2.30.
      cpan JSTOWE/TermReadKey-2.33.tar.gz
      or
      cpanm Term::Readkey@2.33
      should do the trick.
      --
      if ( 1 ) { $postman->ring() for (1..2); }