Вы нашли самый волшебный кусок Perl.Ну, я уверен, что есть больше магических вещей, но эта маленькая идиома делает очень легким для написания программ, предназначенных для использования в конвейере оболочки и файловых операций.
При запуске без каких-либо аргументов <>
будет читать строки по одному за раз из стандартного ввода.
При запуске с аргументами он будет обрабатывать аргументы как имена файлов ичитать строки по очереди из названных файлов по очереди.
Короткая демонстрация:
$ cat > print.pl
#!/usr/bin/perl -w
print for(<>);
$ chmod 755 print.pl
$ echo hello world | ./print.pl
hello world
$ ./print.pl print.pl
#!/usr/bin/perl -w
print for(<>);
$ ./print.pl print.pl print.pl
#!/usr/bin/perl -w
print for(<>);
#!/usr/bin/perl -w
print for(<>);
$
Я набрал там программу вручную;нажмите ^D
, когда вы введете его полностью.