Соответствующие строки кода:
$loctime = localtime;
$utime = uptime;
Они ведут себя несколько иначе.
Первый вызывает Perl-функцию «localtime» и присваивает ее результат переменной. Поскольку она вызывается в скалярном контексте, функция возвращает читаемую человеком строку.
Вторая строка должна выдавать какое-то предупреждение, если вы не определили uptime
где-то в своей программе. Может быть:
Строка без кавычек "uptime" может конфликтовать с будущим зарезервированным словом
Это объясняет, почему $utime
содержит слово "uptime".
Кажется, вы хотите вызвать команду unix uptime
и присвоить ее вывод переменной. Для этого обычно используют какой-то вариант qx//
(он же backticks):
$utime = `/usr/bin/uptime`;
$utime = qx( /usr/bin/uptime );
Подробнее см. perldoc -f qx
.