小编mic*_*ly7的帖子

为什么调用Perl的exec内置会导致此函数不返回其调用者?

我在向函数传递参数时遇到问题,而被调用的函数没有将控制权返回给最初调用它的函数.基本上,我正在读取一个文本文件,其中包含用户名和密码到数组中.然后使用foreach循环我将用户名和密码传递给另一个函数,但这永远不会返回,只执行一组arugments;

sub batch {
    open(my $in, "<", "$ARGV[0]") or die "Can't open $ARGV[0]: $!";
 #Read file contents into an array.
 @listOfUsers = <$in>;
 foreach $listOfUsers (@listOfUsers) {
  #Regex to check if txt file conforms to correct syntax.
  if ($listOfUsers !~ /([a-zA-Z]{1}[a-zA-Z0-9]{3,40})\s[a-zA-Z]{1}[a-zA-Z0-9]{3,40}/) {
   print "Please ensure that line $listOfUsers in $ARGV[0] is of the following syntax:\n";
   print "\n<USERNAME> <PASSWORD>\n";
   exit(0);
  } else {
   #split string and call AddUser function
   my ($username, $password) = split(" ",$listOfUsers);
   AddUser($username, $password);
  }
 }
}



sub …
Run Code Online (Sandbox Code Playgroud)

perl return function exec

1
推荐指数
1
解决办法
645
查看次数

perl中的split数组元素

我在Perl中有一个数组,其中每个元素都包含一个用空格分隔的用户名和密码.即

@listOfUser = {testuser password1, testuser2 password2, testuser3 password3};
Run Code Online (Sandbox Code Playgroud)

我想循环遍历数组并将每个元素拆分为两个字符串.例如,我想获取数组中的第一个元素,并将其分配给名为username的变量以及名为passwd的变量的相应密码.

基本上我的问题是我想将数组元素拆分为两个字符串!


我正在使用perl.我们一般来说吧.我有一个包含几个元素的数组.

每个元素的格式如下:sometext mypassword 基本上每个元素都包含一个用户名,后跟一个空格,然后是一个密码.

我希望能够抓住每个元素并拆分元素

my $username = sometext
my $password = password
Run Code Online (Sandbox Code Playgroud)

然后我将使用foreach循环将两个字符串传递给函数

arrays perl split

0
推荐指数
2
解决办法
1万
查看次数

标签 统计

perl ×2

arrays ×1

exec ×1

function ×1

return ×1

split ×1