in reply to Re: Re^2: sort strings by date
in thread sort strings by date

Simply replace <DATA> with <INPUT> and open INPUT before that.

to read one line at a time

I'm not sure if you meant something specific there, but I usually avoid reading entire files into memory so I wonder if you were also hoping to avoid that. So just to be clear: When sorting, you have to read the entire file before you can output the first record.

To write to another file, open it (say to the handle OUTPUT) and specify that handle in the print statement with no comma after it: print OUTPUT @list;.

Or, to be very explicit, safe, and write code that even works prior to v5.6 of Perl:

use IO::Handle; my $infile= "input.txt"; my $outfile= "sorted.txt"; my $in= IO::Handle->new(); open $in, "< $infile\0" or die "Can't read $infile: $!\n"; my $out= IO::Handle->new(); open $out, "> $outfile\0" or die "Can't write $outfile: $!\n"; my @list= <$in>; close $in; # ... sort code here ... print $out @list;

                - tye