CrashBlossom has asked for the wisdom of the Perl Monks concerning the following question:
When the program below reaches the start function, it fails with the seemingly nonsensical error "Can't locate auto/Tk/ROText/FILENO.al". Tieing only STDOUT to the same widget is no problem.
Does anyone have any insight as to what is happening here?
use warnings; use strict; use IPC::Run qw(start pump finish timeout); use Tk; require Tk::ROText; my $mw = MainWindow->new(-title => " NON BLOCKING"); my $outw = $mw->Scrolled('ROText', -font => "{Courier New} 10 bold", -background => 'DarkBlue', -foreground => 'OldLace', -scrollbars => 'se', -wrap => 'none', -width => 100, -height => 10, )->pack(-fill => "both", -expand => 1); + # tie *STDOUT, 'Tk::Text', $outw; tie *STDERR, 'Tk::Text', $outw; my ($in, $out, $err) = ('', '', ''); my $h; if (! defined(eval { $h = start ['cmd.exe', '/c', 'dir'], \$in, \$out, + \$err; })) { print "\nStart failed: $@\n"; } while($h->pumpable) { $h->pump; print $out; $out = ''; } $h->finish; MainLoop;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Tieing STDERR to a textbox causes the IPC::Run start function to fail
by choroba (Cardinal) on Mar 06, 2026 at 01:31 UTC | |
|
Re: Tieing STDERR to a textbox causes the IPC::Run start function to fail
by ikegami (Patriarch) on Mar 06, 2026 at 04:13 UTC | |
by ikegami (Patriarch) on Mar 06, 2026 at 04:21 UTC | |
by CrashBlossom (Beadle) on Mar 06, 2026 at 13:50 UTC |