运行perl程序时出现: bad interpreter: No such file or directory 这样的错误提示.
原因:这是在windows下通过写字板或其他编辑工具编写的perl程序,windows环境下每行的结束符是CRLF(Carriage-Return, Line-Feed). 在linux下结束符却是LF,所以每行多了一个CR串.
处理:通过以下脚本对每行结束符进行替换
#!/usr/bin/perl
die "Usage: $0 < files >\n" unless @ARGV;
for $file (@ARGV)
{
open IN, $file or die "$0: Cannot open $file for input!\n";
my @lines = <IN>;
close IN;
open OUT, "> $file" or die "$0: Cannot open $file for output!\n";
s/\r$// for @lines;
print OUT for @lines;
}
die "Usage: $0 < files >\n" unless @ARGV;
for $file (@ARGV)
{
open IN, $file or die "$0: Cannot open $file for input!\n";
my @lines = <IN>;
close IN;
open OUT, "> $file" or die "$0: Cannot open $file for output!\n";
s/\r$// for @lines;
print OUT for @lines;
}