Regex 将LDIF转换为WebSEAL组导入--”;打印不正确

Regex 将LDIF转换为WebSEAL组导入--”;打印不正确,regex,perl,Regex,Perl,我获取了一个LDIF并逐行检查它,将DN放入变量$line,然后将cn匹配到变量$cn中 现在我只想打印出所有行,如下所示: 组导入CNHERE“DN HERE” 在LDIF中,每个DN应该有一条语句。相反,每当我试图让它在$line变量周围打印“”时,我都会得到下面的时髦输出 "roup import CNNAMEHERE "dn: CN=CNNAMEHERE,OU=Groups,DC=extranet,DC=DOMAIN,DC=com 下面是文件中的一个示例DN行 dn: CN=CNNAM

我获取了一个LDIF并逐行检查它,将DN放入变量$line,然后将cn匹配到变量$cn中

现在我只想打印出所有行,如下所示:

组导入CNHERE“DN HERE”

在LDIF中,每个DN应该有一条语句。相反,每当我试图让它在$line变量周围打印“”时,我都会得到下面的时髦输出

"roup import CNNAMEHERE "dn: CN=CNNAMEHERE,OU=Groups,DC=extranet,DC=DOMAIN,DC=com
下面是文件中的一个示例DN行

dn: CN=CNNAMEHERE,OU=GROUPNAME,OU=Groups,DC=DOMAIN,DC=com
我知道我可以用不同的字符打印出来,然后查找/替换文件或进行替换匹配,但我真的很想知道它为什么这样做

#!/usr/bin/perl
use strict;
use warnings;

open (DATA, "<exportGroupsEmpty.ldf") or die ("Couldn't open file");

my $line = "";

while($line = <DATA>)
{

  #get DN
  if ($line =~ m/^dn/)
  {

    my $cn = "";
    $line =~ m/(dn: CN=)/;
    $' =~ m/(,)/;
    $cn = $`;
    chomp($line);

    print qq(group import $cn "$line"\n);
    #print $cn;
    #print " " . $line . "\n";

  }

}
#/usr/bin/perl
严格使用;
使用警告;

打开(数据),必须打开输入文件