2013-02-23 90 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