我是Perl的新手.我有类似的字符串
my $http_origin_servers_list = "abc:2220,cde:40111,efg:45643";
Run Code Online (Sandbox Code Playgroud)
我有一个叫做喜欢的子
executeCommand($host);
Run Code Online (Sandbox Code Playgroud)
我想转换$http_origin_servers_list成数组
my @values = ("abc:2220", "cde:40111", "efg:45643");
Run Code Online (Sandbox Code Playgroud)
并executeCommand依次调用每个值
executeCommand("abc:2220");
Run Code Online (Sandbox Code Playgroud)
从技术上讲,你要求
my @hosts = split /,/, $http_origin_servers_list;
for my $host (@hosts) {
executeCommand($host);
}
Run Code Online (Sandbox Code Playgroud)
但是你可以跳过创建数组.
for my $host (split /,/, $http_origin_servers_list) {
executeCommand($host);
}
Run Code Online (Sandbox Code Playgroud)
如果您愿意,可以更简洁地写出来.
executeCommand($_) for split /,/, $http_origin_servers_list;
Run Code Online (Sandbox Code Playgroud)