2013-07-26 179 views
1

我試圖找到一些非常具體的perl文件名匹配的模式。Perl點文件名匹配

我有一系列的文件名爲:

AAA.test.xml and AAA.xml. 

,我進入了功能完整的文件路徑。

我想比較文件名,如果文件名是AAA.xml我想將它複製到另一個目錄。

這是我的問題:有沒有一種方法可以比較文件名並檢查名稱中是否包含2個點?

編輯: 使用正則表達式是罰款,以及,我只是不知道如何做到這一點在Perl

回答

1

如果你有文件名(這聽起來像你這樣做),你可以使用一個簡單的正則表達式檢查兩個文字週期。例如:

if ($name =~ /\..*\./) { do stuff } 

重要的是要注意字符「。」。在正則表達式中是特殊的。字符序列「。」指的是文字「。」;字符序列「。」,沒有反斜槓,表示任意字符。另外,「*」表示前一個事物需要匹配零次或多次。

因此,上面給出的正則表達式意思是「找到文字」。字符,然後是任何數字,然後是另一個字面'。'「。

+0

謝謝!我想到,我記得從模式匹配中,但這是第一次在perl中做,我打算使用glob,但是您需要一組文件名!謝謝! – 7dr3am7