0

我有一个 Perl 程序,它向用户询问程序输入的文件位置。不是让用户输入整个位置,是否可以让他们简单地将文件从其位置拖到命令行?当我尝试这样做时,它会放置'在文件位置周围。您能否'在程序尝试打开文件之前从 STDIN 中删除该字符?我感觉这是一个操作系统功能而不是 perl。

4

1 回答 1

2

您可以使用从字符串中删除单引号

$string =~ s/'//g;

或者,稍微更有效

$string =~ tr/'//d;

但是您是否考虑过在命令行上传递文件名,以便使用

perl myprogram.pl myfile

这样引号是正确的,并且不需要在程序中打开文件。你可以写

while (<>) {
  chomp;
  ...
}
于 2013-02-23T05:54:14.357 回答