我有一个带有返回文件句柄的方法的对象,我想从该句柄中读取。以下不起作用,因为方法调用的右尖括号被解释为输入阅读器的右尖括号:my $input = <$object->get_handle()>;这被解析为:my $input = ( < $object- > ) get_handle() >;这显然是一个语法错误。有什么方法可以在角度运算符中执行方法调用,还是需要像这样将其分为两个步骤?my $handle = $object->get_handle();my $input = <$handle>; 最佳答案 你必须打破它; 操作符需要像 这样的 typeglob,一个简单的标量变量,包含对文件句柄的引用或像 这样的 typeglob,或者像 这样的 glob() 函数的参数。在您的示例中,您实际上是在调用 glob('$object-')。 实际上被解释为对 readline() 的调用,所以如果你真的想要你可以说 my $input = readline( $object->get_handle() ); 我不确定这是否更清晰,特别是如果你要从句柄读取不止一次。有关详细信息,请参阅 http://perldoc.perl.org/perlop.html#I%2fO-Operators。关于perl - 如何从在 Perl 中返回文件句柄的方法中读取?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2672183/