Using CAT command in Perl-CGI script

upgundecha's Avatar
Newbie Member
Hi,

How I can cat a file's contents through Perl-CGI. I want to write a Perl-CGI program which will accept file's name from a browser on Windows machine and then cat the contents of that file back to browser window. Any thoughts how to do this?

Thanks in Advance,
0
pradeep's Avatar, Join Date: Apr 2005
Team Leader
Here's the code

Code: Perl
#!/usr/bin/perl
 
 use CGI;
 
 my $q = new CGI;
 
 $file = $q->param('file') || $ARGV[0];
 
 if(-f $file)
 {
     $txt = qx(cat $file);
 }
 else
 {
     $txt = "File doesn't not exist!";
 }
 
 print $q->header,$txt;
0
upgundecha's Avatar
Newbie Member
Hey thanks Pradeep,

But How I can take file name in IE on Windows? And Do I need to give this CGI script root access?

Regards,
0
pradeep's Avatar, Join Date: Apr 2005
Team Leader
Just like you do it in *nix, just that you need to have drive names in the beginning of the path/to/file.

Well you needn't give the script root access, if you are running it from a Web Server apache needs to have read permissions to the file.