| |||||||||||
| |||||||||||
PERL program Posted by apillai (apillai), 27 November 2007 Hi 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. Thanks 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 http://www.wellho.net/course/ppfull.html which can get you foing very quickly and efficiently! 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.
|
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |