package My_Test;
use warnings;
use strict;
use Curses;
sub routine {
my $scr = newterm( $ENV{TERM}, \*STDERR, \*STDIN );
set_term( $scr );
noecho();
keypad( 1 );
printw "press a key: ";
refresh;
my $c = getch();
printw "$c\n";
refresh;
sleep 1;
endwin();
delscreen( $scr );
}
1;
Когда я запускаю этот скрипт
#!/usr/bin/env perl
use warnings;
use strict;
use My_Test;
My_Test::routine();
My_Test::routine();
, второй My_Test::routine
выдает это сообщение об ошибке:
Use of uninitialized value in subroutine entry at My_Test.pm line 8.
argument 0 to Curses function 'set_term' is not a Curses screen at My_Test.pm line 8.
Почему эта подпрограмма работает только в первый раз?