我在Perl中有一个数组,其中每个元素都包含一个用空格分隔的用户名和密码。即。
@listOfUser = {testuser password1, testuser2 password2, testuser3 password3};
我想循环遍历数组并将每个元素拆分为两个字符串。例如,我想获取数组中的第一个元素,并将其分配给名为username的变量以及名为passwd的变量的相应密码。
基本上我的问题是我想将数组元素拆分成两个字符串!
我正在使用perl。我们一般来说吧。我有一个包含几个元素的数组。
每个元素的格式为:sometext mypassword
基本上每个元素都包含一个用户名,后跟一个空格,然后是一个密码。
我希望能够抓住每个元素并拆分元素,以便
my $username = sometext
my $password = password
然后我将使用foreach循环将两个字符串传递给函数
答案 0 :(得分:7)
for my $elem (@listOfUser) {
my ($username, $password) = split " ",$elem;
# do something with $username and $password
}
答案 1 :(得分:5)
use strict; use warnings;
use YAML;
my @users = (
'testuser password1',
'testuser2 password2',
'testuser3 password3',
);
@users = map { my ($u, $p) = split; { user => $u, pass => $p } } @users;
print Dump \@users;
答案 2 :(得分:0)
除了已经给出的答案:为什么要使用数组?哈希会恕我直言是一个更好的解决方案:
my %user_password = (
user1 => 'pass1',
user2 => 'pass2',
....
);
for my $user ( keys %user_password ) {
print "username: $user, password: $user_password{$user}\n";
}
保