Как я могу прочитать входные данные в Perl на Windows?

Я пытаюсь создать что-то в Perl, что в основном похоже на Unixtee команда. Я пытаюсь прочитать каждую строкуSTDINзапустите замену и распечатайте его. (И, в конце концов, также распечатайте его в файл.) Это работает, если я использую консольный ввод, но если я пытаюсь передать ввод в команду, он ничего не делает. Вот простой пример:

print "about to loop\n";
while(<STDIN>)
{
  s/2010/2009/;
  print;
}
print "done!\n";

Я пытаюсь передать ему команду dir следующим образом:

C:\perltest>dir | mytee.pl
about to loop
done!

Почему он не видит вход по каналу? (Я использую Perl 5.10.0 на WinXP, если это актуально.)

Ответы на вопрос(5)

Ваш ответ на вопрос