在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,$d,$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就会对调数值。