2013-02-23 75 views
0

我有一個Perl程序要求用戶輸入程序的文件位置。 而不是讓用戶鍵入整個位置,是否可以讓他們簡單地將文件從其位置拖到命令行?當我嘗試這個時,它會在文件位置周圍放置'。 在程序嘗試打開文件之前,能否從STDIN中刪除'字符?我感覺這是一個操作系統函數而不是perl。從STDIN路徑位置刪除字符

+0

用'/ \ 1 /'替換'/'(.+)'/'? – 2013-02-23 05:10:15

回答

2

可以使用

$string =~ s/'//g; 

刪除從字符串單引號,或者稍微更有效地

$string =~ tr/'//d; 

但是你有沒有考慮通過文件名在命令行上,讓你運行你Perl程序使用

perl myprogram.pl myfile 

這樣引號是正確的,並且沒有n在程序中打開文件。你可以寫

while (<>) { 
    chomp; 
    ... 
} 
+0

我曾考慮在命令行上傳遞文件名。我可能會這樣做,而不是假設用戶會知道該怎麼做。 – Citizin 2013-02-23 05:59:03