字符串类型定义
例:my $str1 = 'Hello, World!'; #单引号双引号均可
可以用' . '来连接字符串
例:print 'Hello' . ' World!';
可以用substr()函数引用字符串的一部分
例:my $part = substr("Hello, World!", 7, 5);#从index=7处,往后引用5个index
可以用index()函数返回部分字符串在整个字符串处的index
例:my $position = index("Hello, World!", "World");#返回7
可以用eq比较字符串
例:if($str1 eq 'Hello, World!')
可以用qq表示多行字符串
例:my $text = qq{
This is a
multiline
string.
}
可以用split()函数将字符串分为数组???
例:my $data = "SystemVerilog;Perl;C++";
my @languages = split(/;/, $data);#这里@language我理解为数组,/;/表示字符串中的间隔符
print "@languages\n";#这里尝试了下加引号和不加引号,加引号变量间会有空格,不加则无
可以用join()函数将数组拼接起来
例:my @names = ('name1', 'name2', 'name3');
my $joined_names = join("&", @names);
print "$joined_names\n";
正向引用从0开始,逆向引用从-1开始
例:print $fruit[0]."\n";
print $fruit[-1]."\n";
可以用push、pop对数组进行操作
例:my @numbers = (1, 2, 3);
push @numbers, 4, 5; #(1, 2, 3, 4, 5)
my last = pop @numbers; # 5
可以用unshift、shift在数组最前面移入移出变量
例:my @animals = ("cat", "dog", "fish");
unshift @animals, "bird";
print @animals;#birdcatdogfish
my $first = shift @animals;#bird
print $first;
print @animals;
可以用scalar()函数获取数组size
例:my @items = ("a", "b", "c");
my $length = scalar @items;#3
print "$length\n";
可以直接用[]引用数组变量
例:my @weekdays = ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
my @weekend = @weekdays[5,6];
可以用foreach遍历数组
例:foreach my $lang (@languages) {
print "$lang\n";
}
哈希数组
例:my %fruit_color = (
"apple" => "red" ,
"banana" => "yellow" ,
"grape" => "purple"
);
print $fruit_color{"apple"}."\n"; #return red
可以用delete()函数删除对应哈希值
例:delete $fruit_color{"apple"};
print $fruit_color{"apple"}."\n"; #return null
可以用keys、values获取所有哈希数组的键值和哈希值
例:my @all_keys = keys %fruit_color;
my @all_values = values %fruit_color;
可以用foreach遍历哈希数组
例:foreach my $key (keys $fruit_color) {
print "$key: $fruit_color{$keys}\n";
}
可以用' .. '表示省略号???
例:my @numbers = (1..10); # 表示1,2,3,4,5,6,7,8,9,10
my @letters = ('a'..'f'); #表示a,b,c,d,e,f