You didn't specify on which system the script is running.
# Outputs file in DOS format. # Accepts input files in unix format. # Runs on DOS. { my $fh_in = upload('filepath'); open my $fh_out, ...; print $fh_out while <$fh_in>; }
# Outputs file in DOS format. # Accepts input files in unix format. # Runs on unix. { my $fh_in = upload('filepath'); open my $fh_out, ...; while (<$fh_in>) { chomp; print $fh_out "$_\r\n" } }
As a bonus, here are more universal versions:
# Outputs file in DOS format. # Accepts input files in unix, DOS and Mac formats. # Runs on unix, DOS and Mac. my $text; { my $fh_in = upload('filepath'); binmode($fh_in); local $/; $text = <$fh_in>; } $text =~ s/\015\012?|\012/\015\012/g; { open my $fh_out, ...; binmode($fh_out); print $fh_out $text; }
# Outputs file in local format. # Accepts input files in unix, DOS and Mac formats. # Runs on unix, DOS and Mac. my $text; { my $fh_in = upload('filepath'); binmode($fh_in); local $/; $text = <$fh_in>; } $text =~ s/\015\012?|\012/\n/g; { open my $fh_out, ...; print $fh_out $text; }
Update: Cleaned up my booboos.
In reply to Re: Conversion of unix LF to DOS LF issues
by ikegami
in thread Conversion of unix LF to DOS LF issues
by master_son
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |