The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#! /usr/bin/perl -w

# A filehandle in the argument list causes the prompt to be sent to
# that filehandle, rather than to the terminal...
#

use IO::Prompt;

open my $fh, '>/dev/null' or die $!;

print "No prompt should appear here... (type anything)\n";
if (prompt $fh, "> ", -line) {
    print;
}

if (prompt \*STDERR, "type some more> ", -line) {
    print;
}

use IO::File;
$fh = new IO::File, "<$0" or die $!;

print "This should fail at line ", __LINE__ + 1,
  " (read-only filehandle)...\n";
if (prompt $fh, "> ", -line) {
    print;
}