print "Content-Type: application/octet-stream\n\n";
####
print "Content-Type: text/plain\n";
print "Content-Length: $filesize\n";
print "Content-disposition: attachment; filename=$filename\n\n";
open FILE, $filename or die "can't open $filename: $!\n";
print while ;
close FILE;
####
use CGI::Simple;
use strict;
use warnings;
my $cgi = CGI::Simple->new;
my $filename = '/usr/local/..../file.txt'; # assumed exists
print $cgi->header(
-type => 'text/plain',
-attachment => $filename,
-content_length => -s($filename),
);
open FILE, $filename or die "Can't open $filename: $!\n";
print while ;