- 论坛徽章:
- 0
|
Web服务器Apache,运行于MacOX下。
CGI脚本运行生成的文件在Windows记事本中打开会出现换行错误。(这到不奇怪)
遂插入一段子程序到perl脚本中进行CRLF的转换,代码如下:
- #!/usr/bin/perl -w
- use strict;
- die "\nInput file name missing.\nUsage: perl unix2dos.v1.pl input_file_name\n" unless $ARGV[0];
- unix2dos($ARGV[0]);
- sub unix2dos
- {
- my $inputfile = $_[0];
- open (INPUT, "$inputfile") or die "Can't open input file: $!\n";
- my $outputfile = "DOS_".$inputfile;
- unlink $outputfile if -e $outputfile;
- open (OUTPUT, ">>$outputfile") or die "Can't open output file: $!\n";
- while (my $line = <INPUT>){
- $line =~ s/$/\r/;
- print OUTPUT $line;
- }
- close OUTPUT;
- close INPUT;
- print "\nOutput file: $outputfile\n";
- }
复制代码
该段程序在MacOX终端的bash,tcsh中均可成功将UNIX文件转换为DOS格式,但一旦插入到CGI脚本中,转换出来的就还是UNIX格式,实在不明白。
[ 本帖最后由 horacez 于 2006-3-11 23:04 编辑 ] |
|