大佬教程收集整理的这篇文章主要介绍了perl用双引号封装单个变量,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我经常在我正在研究的程序的源代码中找到这个(10年前由不在这里工作的人写的):@H_696_3@ @H_226_4@my $sql_host = "something"; my $sql_user = "somethingelse"; # a few lines down my $db = sub_for_sql_conection("$sql_host","$sql_user","$sql_pass","$sql_db");@H_262_5@
据我所知,没有理由这样做.当我使用旧脚本时,我通常会删除引号,因此我的编辑器将它们变为变量而不是字符串.@H_696_3@
我认为他们在某个地方看到了这个并复制了风格而没有理解为什么会如此.我错过了什么吗?@H_696_3@
谢谢.@H_696_3@
有些事情可能会发生这种调用风格的副作用:@H_696_3@ @H_226_4@my $foo = "1234"; sub bar { $_[0] =~ s/2/two/ } print "Foo is $foo\n"; bar( "$foo" ); print "Foo is $foo\n"; bar( $foo ); print "Foo is $foo\n";@H_262_5@
在这里,Stringification创建了一个副本并将其传递给子例程,绕过Perl的引用语义传递.通常认为调用变量是不礼貌的,所以你可能没问题.@H_696_3@
您还可以在此处对对象或其他值进行字符串化.例如,undef字符串化为空字符串.对象可以指定在字符串化时运行的任意代码.可以使用具有不同数值和字符串值的双值标量.这是一种指定您想要字符串形式的方法.@H_696_3@
还有一个可能会发生的深刻的怪异事情.如果您正在使用XS代码来查看在函数的标量参数上设置的标志,那么对标量进行字符串化是一种直接的方式来说明perl,“让我成为一个很好的干净的新字符串值”,只有字符串标记和没有数字标志.@H_696_3@
我确信99.9%的规则还有其他奇怪的例外.这些是一些.在删除引号之前,请花一点时间来检查这样的怪异垃圾.如果你确实发生了合法使用,请添加一个注释,将引号标识为可行的kludge,并给出它们存在的理由.@H_696_3@
以上是大佬教程为你收集整理的perl用双引号封装单个变量全部内容,希望文章能够帮你解决perl用双引号封装单个变量所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。