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