Regex 如果找到匹配项,则在中使用%符号赋值

Regex 如果找到匹配项,则在中使用%符号赋值,regex,perl,Regex,Perl,我想了解下面的代码,它是如何工作的。我得到了一个文本文件,例如下面显示文件夹的所有者。如果文件夹a退出,它会说它属于父亲 Folder A=Father Folder B=Mother Folder C=Son 代码: 我收到朋友的建议,上面的代码将帮助我在发现${}时为$member分配相等的值,但我不太了解它的工作原理和分配方式 我还有其他方法来执行上面的逻辑,我ls外部文件夹分配给一个数组,然后cat文本文件分配给一个数组。然后使用两个for循环和一个模式匹配来获取文件夹退出时的值。但是

我想了解下面的代码,它是如何工作的。我得到了一个文本文件,例如下面显示文件夹的所有者。如果文件夹a退出,它会说它属于父亲

Folder A=Father
Folder B=Mother
Folder C=Son
代码:

我收到朋友的建议,上面的代码将帮助我在发现${}时为$member分配相等的值,但我不太了解它的工作原理和分配方式

我还有其他方法来执行上面的逻辑,我
ls
外部文件夹分配给一个数组,然后cat文本文件分配给一个数组。然后使用两个for循环和一个模式匹配来获取文件夹退出时的值。但是我想知道上面的代码是如何工作的。有人能提供逻辑的示例代码吗上述方法有效,该方法的术语用法是什么


我做了一些研究并编写了一些代码,但代码中存在一些问题,当我指定要提取的变量时,我无法获取哈希信息

%family;
@family_list = `cat /data/admin/family/Family_name.txt`;
@FOLDER=`cd /data/admin/family/;ls -d */ | cut -f1 -d'/'`;
foreach $item(@family_list)
{
   @temp = split ( /=/, $item);
   $family{$temp[0]}=$temp[1];
}

foreach $item(@FOLDER)
{
   print "$item";
   $member=$family{$item};
   print "$member";
}

foreach$item循环
部分似乎没有为
$member
分配
%family
的任何输出。我尝试硬编码,它显示了家族成员,例如
$member=$family{“Folder A”}
结果打印出来了。有人能指出我犯的错误吗?我检查了网页,他们的示例大多是硬编码的。

Perl中的“
%
符号”是一个散列。Google“perl hash”。这里有一本关于hash的书:如果我声明它为变量,如何提取hash。我尝试了硬编码它来打印它,但当我将它指定为变量时,它似乎不起作用。我在上面发布了我的代码。perl中的“
%
符号”是一个hash。Google“perl hash”。请仔细阅读这里的哈希:如果我将哈希声明为变量,如何提取哈希。我尝试了硬编码它来打印它,但当我将其指定为变量时,它似乎不起作用。我在上面发布了我的代码。
%family;
@family_list = `cat /data/admin/family/Family_name.txt`;
@FOLDER=`cd /data/admin/family/;ls -d */ | cut -f1 -d'/'`;
foreach $item(@family_list)
{
   @temp = split ( /=/, $item);
   $family{$temp[0]}=$temp[1];
}

foreach $item(@FOLDER)
{
   print "$item";
   $member=$family{$item};
   print "$member";
}