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 ;