Программно читайте из STDIN или введите файл в Perl

Что slickest путь состоит в том, чтобы программно считать из stdin или входного файла (если обеспечено) в Perl?

67
задан syker 29 June 2010 в 07:23
поделиться

3 ответа

while (<>) {
print;
}

будет читать либо из файла, указанного в командной строке, либо из stdin, если файл не указан

Если вам нужна эта конструкция цикла в командной строке, то вы можете использовать опцию -n опция:

$ perl -ne 'print;'

Здесь вы просто помещаете код между {} из первого примера в '' во втором

.
81
ответ дан 24 November 2019 в 14:30
поделиться

Вам нужно использовать оператор <>:

while (<>) {
    print $_; # or simply "print;"
}

Который можно сжать в:

print while (<>);

Произвольный файл:

open F, "<file.txt" or die $!;
while (<F>) {
    print $_;
}
close F;
13
ответ дан 24 November 2019 в 14:30
поделиться
if(my $file = shift) { # if file is specified, read from that
  open(my $fh, '<', $file) or die($!);
  while(my $line = <$fh>) {
    print $line;
  }
}
else { # otherwise, read from STDIN
  print while(<>);
}
-2
ответ дан 24 November 2019 в 14:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: