Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
 
20.9.2014 - We have just updated our course layouts and descriptions and added our 2015 schedule.

user input

Posted by Tim (Tim), 22 October 2007
hi,

can anyone help me in this....
i want to open a file in write mode but the path of the file sholud be given by the user at run time.
i have pasted the code what i have tried.
$file is the input file and $file1 is the output file which i want to open in a write mode.


print "Please enter the input file name\n";
 $file = <STDIN>;
 open(INFILE, $file);
print "Please enter the output file name\n";
 $file1 = <STDIN>;
  open (OUT,$file1);
foreach (<INFILE>)
 {     .......
  #do something and should print in the output file.
}

Posted by george_Ball (george), 22 October 2007
Try:

print "Enter output file name: ";
$file1 = <STDIN>;
chomp $file1;
open ( OUTPUT, ">$file1");
# The file handle is now available for output...

Remember chomp to take off the newline from the user input. To open the file for output you put the ">" in front of the filename. Doing this in "..." quotes will use interpolation to get the sttring that you require...

HTH

George


Posted by deep (deep), 24 November 2007
Try this:
if($#ARGV !=1)
{
     warn "WARNING: Need to supply two files\n";
     exit;
}
my ($File1,$File2)= @ARGV;

open INFILE1,"<$File1";
open INFILE2,"<$File2";

Here I am forcing the user to input to file names, however, in this case in a read mode.
In two files are not entered it will warn the user and will exit.
on command line, i am giving the complete file name.



This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho