Perl中lvalue子例程的用途是什么?

前端之家收集整理的这篇文章主要介绍了Perl中lvalue子例程的用途是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不明白Lvalue子例程的用途是什么?我用普通子程序不能完成什么?你能举几个例子吗?

谢谢

解决方法

建议避免使用.他们很有趣,但他们混淆了新用户,他们假设所有的内容都是有效的,因此,当有更好的方法可以避免代码.

有时使用LValue结果做脏事可能非常实用.

substr( $string,$start,$stop ) = 'somevalue' # replaces the specified part of the substring.

但是,这也同样如此:

substr( $string,$stop,'somevalue' );

这里的差异大多是前者具有显着的更强大的力量,因为它将行为委托给使用它的代码而不是函数本身.

例如:

substr( $string,$stop ) =~ s/a/b/g

需要你做

my $x = substr( $string,$stop ); 
$x =~ s/a/b/g/; 
substr( $string,$x );

这有点讨厌

虽然这里还有一个令人讨厌的问题,因为您必须考虑是否以$x作品替代,以追溯方式修改字符串(由于substr是一个LValue子).我不认为它是,但它的含糊不清,我必须检查手册,以记住是否与否,这是坏的.

原文链接:https://www.f2er.com/Perl/172605.html

猜你在找的Perl相关文章