[已解决]如何避免这样的冲突?

[已解决]如何避免这样的冲突?



[Copy to clipboard] [ - ]
CODE:
my $var1 = 'cc';
my $var2 = "${var1}{string}";

我期望输出 cc{string}, 但是程序会认为"${var}{string}"是个变量,请问,如果不用"my $var2 = $var.'{string}'; "这个方法,我该如何解决这个问题?

办法倒是有,不过在告诉你之前,我非常想知道你不这么写的理由?
my $var2 = $var . '{string}';


QUOTE:
原帖由 flw 于 2007-11-15 16:15 发表
办法倒是有,不过在告诉你之前,我非常想知道你不这么写的理由?
my $var2 = $var . '{string}';

这个冲突是发生在一个大散列里面,大部分值都这样的,偶尔有某个值会产生这样的冲突。为了保证程序的可读性或者说是美观吧,希望从另一面考虑解决方法。



QUOTE:
原帖由 zhuomingliang 于 2007-11-15 16:19 发表

这个冲突是发生在一个大散列里面,大部分值都这样的,偶尔有某个值会产生这样的冲突。为了保证程序的可读性或者说是美观吧,希望从另一面考虑解决方法。

还是没明白为什么 $var2 = $var1 . '{string}' 就不好了。
用了符号引用?


QUOTE:
原帖由 flw 于 2007-11-15 16:47 发表

还是没明白为什么 $var2 = $var1 . '{string}' 就不好了。
用了符号引用?

确切的说,某个散列中大部分都是"${var1}xxx{string}"
偶尔有的是"${var1}{string}"

但是第二种会导致perl的误会,同时为了保证程序格式上的一致性,不希望中间某个语句夹着 $var2 = $var1 . '{string}' 这样的代码


QUOTE:
原帖由 zhuomingliang 于 2007-11-15 16:10 发表
my $var1 = 'cc';
my $var2 = "${var}{string}";

我期望输出 cc{string}, 但是程序会认为"${var}{string}"是个变量,请问,如果不用"my $var2 = $var.'{string}'; "这个方法,我该如何解决这个问题?

你真的确定这样会让Perl误会整体是变量? 而不是因为你少打了一个1?

5.8.8下测试通过.
同意6楼的,perl5.8.7测试也通过了。


QUOTE:
原帖由 Lonki 于 2007-11-15 19:53 发表


你真的确定这样会让Perl误会整体是变量? 而不是因为你少打了一个1?

5.8.8下测试通过.

是的,很明显,是少打了一个1。
ps : flw 哪里去了?
丢出一个召唤石,消耗100蓝,召唤flw~
flw 已经来过了,不过我想他没有回复你的原因,大约还是因为你没有说清楚吧。
不如举个例子?