Я попробовал образец программы, которая может рассчитать размер файла, заданного в аргументах командной строки. Он дает размер правильно, когда у меня есть имя файла, хранящееся внутри переменной, но не выводит результат при получении имени файла из аргументов командной строки.Как рассчитать размер файла из аргументов командной строки в perl
#! /usr/bin/perl
use File::stat;
while(<>){
if(($_ cmp "\n") == 0){
exit 0;
}
else{
my $file_size = stat($_)->size; # $filesize = s $_;
print $file_size;
}
}
я не получаю никакого вывода при использовании тестового файла оператора -s
и я получаю ошибки при использовании модуля стат:
Unsuccessful stat on filename containing newline at /usr/share/perl/5.10/File/stat.pm line 49, <> line 1.
Can't call method "size" on an undefined value at 2.pl line 17, <> line 1.
1.txt это имя файла я даю в качестве входных данных.
'if (($ _ cmp" \ n ") == 0)' должно быть 'if ($ _ eq" \ n ")' –