/dev/tty
является управляющим терминалом для текущего процесса.STDIN
- текущий вход.Если вы перенаправляете, например,
perl script.pl <myfile.txt
STDIN
теперь будет поступать с myfile.txt
, но /dev/tty
все равно будет поступать с управляющего терминала.Это все UNIX, а не Perl, и это гораздо больше, чем это, но в двух словах это разница.