在c++中,不可以将两个数直接交换的,必须借助第三个变量或者采用数学算法进行。但是在Perl中则不用那么做了。
如下代码:
#!/usr/bin/perl -w print "-"x20; print "\n"; $a = 12; $b = 13; print "交换前:\n"; print "a=$a\n"; print "b=$b\n"; print "交换后:\n"; ($a,$b) = ($b,$a); print "a=$a\n"; print "b=$b\n"; $c = 14; $d = 15; $e = 16; print "-"x20; print "\n"; print "交换前:\n"; print "c=$c\n"; print "d=$d\n"; print "e=$e\n"; ($c,$d,$e) = ($e,$c); print "交换后:\n"; print "c=$c\n"; print "d=$d\n"; print "e=$e\n"; print "-"x20; print "\n"; #!
运行结果:
xy@ubuntu:~/perl代码$ perl 数组交换 -------------------- 交换前: a=12 b=13 交换后: a=13 b=12 -------------------- 交换前: c=14 d=15 e=16 交换后: c=16 d=15 e=14 --------------------可以看到只要列表的数据的个数是对其的,Perl就会对调数值。