in reply to Re^2: Term::UI on Win32
in thread Term::UI on Win32
You can only create a single object of Term::ReadLine if the Term::ReadLine::Perl 'personality' is being used.
Behold
C:\tmp>perl foo.pl What is your default prog. lang? [Perl]: What is your OS? [MacOS]: C:\tmp>perl -I Term-ReadLine-Perl-1.0303\blib\lib foo.pl What is your default prog. lang? [Perl]: Cannot create second readline interface, falling back to dumb. What is your OS? [MacOS]: C:\tmp>
And this limitation isn't just a MSWin32 thing:
[canker:]$ perl foo.pl What is your default prog. lang? [Perl]: What is your OS? [MacOS]: [canker:]$ perl -ITerm-ReadLine-Perl-1.0303/blib/lib foo.pl What is your default prog. lang? [Perl]: Cannot create second readline interface, falling back to dumb. What is your OS? [MacOS]:
Forcing Term::ReadLine to load the Stub personality should work fine.
use strict; use warnings; BEGIN { $ENV{PERL_RL}='Stub'; }; use Term::UI; use Term::ReadLine; my $term = Term::ReadLine->new('lang'); my $reply = $term->get_reply( prompt => 'What is your default prog. la +ng?', default => 'Perl'); my $term2 = Term::ReadLine->new('OS'); $reply = $term2->get_reply( prompt => 'What is your OS?', default => ' +MacOS');
And it does
C:\tmp>perl -I Term-ReadLine-Perl-1.0303\blib\lib foo.pl What is your default prog. lang? [Perl]: What is your OS? [MacOS]: C:\tmp>
And on a non-MSWin32 OS too
[canker:]$ perl -ITerm-ReadLine-Perl-1.0303/blib/lib foo.pl What is your default prog. lang? [Perl]: What is your OS? [MacOS]: [canker:]$
|
---|
In Section
Seekers of Perl Wisdom