Я хотел бы знать, возможно ли вызвать метод из объекта без передачи аргумента self.
Например, у меня есть пакет:
package MyPackage;
sub new {
my $class = shift;
return bless {}, $class;
}
sub test {
print("called(" . join(', ', @_) . ")\n");
}
FromСценарий, я вызываю конструктор, а затем метод test
:
my $obj = MyPackage->new();
$obj->test("str");
, который дает мне следующий вывод:
called(MyPackage=HASH(0x55b05d481f48), str)
Есть ли способ (даже если это не лучшийпопрактиковаться или использовать некоторые «тайные» особенности языка), чтобы вызвать метод test
, используя только ссылку $obj
, не передавая параметр «self» неявным образом.
Одним словом, возможно ли это?сделать что-то вроде этого:
$objXXXXtest("str");
с XXXX
гипотетической конструкцией и получить called(str)
в качестве вывода?