У меня есть подпрограмма в perl (автоматически генерируется SWIG), из которой я хочу вернуть несколько значений.Тем не менее, я, кажется, получаю переменные метаданные вместо фактических значений.
sub getDate {
my $tm = *libswigperlc::MyClass_getDate;
($tm.sec, $tm.min, $tm.hour, $tm.day, $tm.month, $tm.year + 1900);
}
Вызывающая сторона выглядит так ...
my ($sec,$min,$hour,$day,$month,$year) = $s->getDate();
print "$year-$month-$day $hour:$min\n";
$ tm.year + 1900 действительно возвращает значение, как и хотел.Если я добавлю «+ 1» к другим значениям, они тоже будут работать как хотелось.
Но
print $month;
приводит к
*libswigperlc::MyClass_getDatemonth
вместо
3
Каков наилучший способ вернуть значения вызывающей стороне?
Я начинающий пользователь perl - обычно использую C ++.