У меня есть вопрос о Perl, о котором я раньше не беспокоился, но сейчас он меня беспокоит.
У меня есть вызов метода saveItems, который получает значение из текстового журнала и анализируетвходные данные.
поэтому у меня есть несколько строк в методе.
$intime = $_[1];
$timeHr = substr($intime, 0,2);
$timeMin = substr($intime, 2,2);
$timeSec = substr($intime, 5,2);
$object[$_[0]]->hr($timeHr);
$object[$_[0]]->min($timeMin);
$object[$_[0]]->sec($timeSec);
$ intime - это значение времени, прошедшего в этот метод.Пример $ intime: 0431: 12
Мой вопрос таков: почему вышеизложенное не дает мне никакой ошибки, а когда я пытаюсь сократить строки следующим образом:
$object[$_[0]]->hr(substr($intime, 0,2));
$object[$_[0]]->min(substr($intime, 2,2));
$object[$_[0]]->sec(substr($intime, 5,2));
Только первоеодин работает, в то время как остальные дают мне ошибку вне строки.
Я относительно новичок в Perl, как вы можете видеть, но может ли кто-нибудь дать мне ответ на этот вопрос?
РЕДАКТИРОВАТЬ
Образец HR:
sub hr {
my $self = shift;
if (@_) { $self->{HR} = shift }
return $self->{HR};
}
РЕДАКТИРОВАТЬ
Дело закрыто .. Прочитайте мой ответ пост