У меня есть пример кода, как это:Как я могу вернуть эту системную команду в переменную?
#!usr/bin/perl -w
my $path = shift;
my $max_number_of_files = shift;
print("Changing directory to path $path $!" . "\n");
chdir($path) or die "Cant chdir to $path $!";
print("Counting files..." . "\n");
counting();
sub counting {
$counted = system("ls -1 | wc -l");
if ($counted > $max_number_of_files) {
print("You have more or equal files");
return 1;
}
else {
print("$counted");
print "You have less files";
return 2;
}
}
Но мое значение $ насчитал я думаю, не получить значение, которое система команд показать на консоль. Я проверил его, и он всегда равен нулю. Как я могу справиться с этим?
Невозможно изменить скалярное chomp в скалярном назначении на строке Counter.pl 9, рядом с "' ls -1 | wc -l'; " это приводит к ошибке. Что делает chomp? – Hayra
@ Хайра Упс, положение скобок было неправильным, теперь исправлено. FYI, 'chomp' избавляется от нового символа строки в конце строки. –
это решило проблему, над которой я работаю. Благодаря! – Hayra