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
PERL  program

Posted by apillai (apillai), 27 November 2007
This is in response to your previous mail .
This the code i have written ..but is seems to print the entire file and not the  lines with the user input data only.
print "\nenter the QAcategory from the categories below:\n";
print "QAcategory:\"script_basic\",\"tool_basic\",\"advanced:adv_studio,adv_msv,adv_mmmc\"\.\n";
open (INPUT, "runlist.txt") || die "cannot open runlist.txt for reading\n";
open (OUT ,">rundef.txt") || die "cannot open run_def.txt for writing\n";
 $qa_cat = <STDIN>;
while (<INPUT>){
  if ($_ =~ /^.*script_basic.*/) {
   $line = $_;
   print OUT "$line";
  elsif ($_ =~  /^.*tool_basic.*/)
   $line = $_;
   print OUT "$line";


Could you plese go through and tell me where I have gone wrong.


Posted by admin (Graham Ellis), 28 November 2007
You are not making any use of the user entered information. You are printing all lines containing script_basic or tool_basic to the file ... which looks (your previous thread) rather like every line in the file!

There's a lot of excess manipulation of $_ which makes your code much more complex than needed, and regular expressions which have needless .* elements in them - I guess that you might have taught yourself just enough Perl to start to write the code, but perhaps not enough to complete the job with a working program yet?   We can help you via which can get you foing very quickly and efficiently!

This page is a thread posted to the opentalk forum at 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., 2015: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: • WEB: • SKYPE: wellho