我有一个Perl程序,要求用户提供程序输入的文件位置。
用户可以将文件从其位置拖动到命令行,而不是让用户输入整个位置?当我尝试这个时,它会在文件位置周围放置'
。
你可以在程序试图打开文件之前从STDIN中删除'
字符吗?我感觉这是一个操作系统功能,而不是perl。
答案 0 :(得分:2)
您可以使用
从字符串中删除单引号$string =~ s/'//g;
或稍微更有效率
$string =~ tr/'//d;
但您是否考虑过在命令行上传递文件名,以便使用
运行Perl程序perl myprogram.pl myfile
这样引号是正确的,并且无需在程序中打开该文件。你可以写
while (<>) {
chomp;
...
}