Perl и я не согласны с тем, является ли переменная числом или нет.Конечно, я ошибаюсь, но почему?
my $bytes = 0;
# . . .
$bytes = $bytes + length($text);
# . . .
my $MB = $bytes / 1048576;
my $string = sprintf("Downloaded: %.1f MB\n", MB);
дает Argument "MB" isn't numeric in sprintf at foo.pl line 200.
.
На самом деле, это число, которое можно увидеть, когда я использую
my $string = "Downloaded: $MB MB\n";
, который устанавливает строку в Downloaded: 3.09680080413818 MB
.
Редактировать: Ах, глупая ошибка, спасибо, что поймал ее.