你好我有一個類似如下的文字: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