可以试一下这几种方式,每种方式各有优劣:
#!/bin/perl -w
use strict;
my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 这个是数组
my $vv = "ddd"; # 这个是要查找的变量
# 方法1,:使用类似c语言的风格,遍历这个数组,查找变量是否匹配。
foreach ( @arr)
{
if( $vv eq $_ )
{
print "$vv\n"
}
}
#方法2:使用map,查找数组中是否含有该变量
map { if($vv eq $_) { print "$vv\n"} } @arr;
#方法3:使用grep,查找数组中是否含有该变量
print( grep /^$vv$/, @arr );
以上3中方式的编码均已经测试过了,能够得到正确答案。如果LZ初学,可以使用方法1中的类似C语言的循环风格 ……
#! /usr/bin/perl
use strict;
use warnings;
my @array = (0 .. 9);
my $tmp = 10;
print "@array\n";
push(@array,$tmp);
print "@array\n";
@array = $tmp + 1;
print "@array\n";
-------------------------------------------------
输出:
C:\Users\Hunter\Documents\Perl>perl 17.pl
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9 10
11
C:\Users\Hunter\Documents\Perl>
不知道用上面的方法能不能满足你的需要
my @m=(0,1);
$m[0]=1;指定位置1 0 1
push @m,2;尾部添加1 0 1 2
unshift @m,3;头部添加3 1 0 1 2
$m[1..3]=(3,5,8);多位置修改3 3 5 8 2
splice将制定位置移除并可进行替换