我的 perl 脚本需要询问用户密码才能下载一些文件:
print "Your password please: \n";
ReadMode('noecho');
$password = ReadLine(0);
$password =~ s/\n//;
ReadMode(0);
system("wget --user=user --password=\"$password\" http://some.server/data.xml");
do_something();
如果我调用脚本$> ./script.pl
一切正常。但是,如果我想将输出通过管道传输到一个文件$> ./script.pl > text.txt
,密码问题也将通过管道传输到该文件,并且 ReadLine 不再工作。
这样做的正确方法是什么?