0
我有一個Perl程序要求用戶輸入程序的文件位置。 而不是讓用戶鍵入整個位置,是否可以讓他們簡單地將文件從其位置拖到命令行?當我嘗試這個時,它會在文件位置周圍放置'
。 在程序嘗試打開文件之前,能否從STDIN中刪除'
字符?我感覺這是一個操作系統函數而不是perl。從STDIN路徑位置刪除字符
我有一個Perl程序要求用戶輸入程序的文件位置。 而不是讓用戶鍵入整個位置,是否可以讓他們簡單地將文件從其位置拖到命令行?當我嘗試這個時,它會在文件位置周圍放置'
。 在程序嘗試打開文件之前,能否從STDIN中刪除'
字符?我感覺這是一個操作系統函數而不是perl。從STDIN路徑位置刪除字符
可以使用
$string =~ s/'//g;
刪除從字符串單引號,或者稍微更有效地
$string =~ tr/'//d;
但是你有沒有考慮通過文件名在命令行上,讓你運行你Perl程序使用
perl myprogram.pl myfile
這樣引號是正確的,並且沒有n在程序中打開文件。你可以寫
while (<>) {
chomp;
...
}
我曾考慮在命令行上傳遞文件名。我可能會這樣做,而不是假設用戶會知道該怎麼做。 – Citizin 2013-02-23 05:59:03
用'/ \ 1 /'替換'/'(.+)'/'? – 2013-02-23 05:10:15