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:
- tyeuse 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;
In reply to Re^4: sort strings by date
by tye
in thread sort strings by date
by LeeC79
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |