你好我有一个类似如下的文字:Perl的正则表达式开始
而且可以说我有一个看起来像这样的电话号码:
39349562486245
,并在文件中的条目,看起来像这样:
1002978;ITM;39349;ITALIEN MOBIL;5;0;414;177
现在号码的开头用一个匹配那里我怎么能检查是否在Perl中,这个数字确实开始。所以我到目前为止,但它没有工作:
zeile [5]是电话号码。
open(DATEIMAIN, "<$dateimainc") || die("Datei $dateimainc kann nicht geöffnet werden!");
my @zeilenMAIN = <DATEIMAIN>;
for(my $lineNMAIN = 1; $lineNMAIN < @zeilenMAIN; $lineNMAIN++)
{
@zeileMAINC = split(/;/, $zeilenMAIN[$lineNMAIN]);
if ($zeile[5] =~ /^$zeileMAINC[2]/)
{
$displaynameB = $zeileMAINC[3];
last;
}
}
也许你应该提供一些输入演示您的问题。此代码正常工作,所以我们无法帮助您。 – TLP 2013-02-11 14:13:38
我猜测问题在于:1)您没有使用'warnings',2)当您提取'zeileMAINC'编号时,它会失败,因此您将匹配空字符串或undef。如果你有警告,你可能会得到一个错误,比如'在正则表达式编译中使用未初始化值$ zeileMAINC [2] ...'为了调试,使用Data :: Dumper模块打印数据以查看它是什么。 – TLP 2013-02-11 14:17:40
我使用的警告,我也尝试打印zeileMAINC的价值,这也是没有问题的。 – alexj 2013-02-11 14:25:12