Sponsored Content
Top Forums Shell Programming and Scripting Slight error with my perl script that I could use some help on Post 302997210 by Eric1 on Tuesday 9th of May 2017 07:59:28 PM
Old 05-09-2017
Slight error with my perl script that I could use some help on

So I have a perl script that prompts the user to enter either q or Q to exit the program or c to continue said program. If the user inputs anything other than those three keys they will be prompted again and again for an appropriate input. My script works for the most part except for one small oddity. Here's an example- if the user inputs a, they will be prompted again. They input a again, they are prompted once more. They input q and the program exits. Works fine right? I run my script again and I change my inputs a little. This time I input a first, the user is prompted again. Now I input q, but the program doesn't exit, it prompts me yet again. If I input q now, it will exit. This oddity also occurs if it's Q or c as well instead of q. This is the oddity I want to fix, can anyone help? Here is the bulk of my code that deals with this small problem-

Code:
print "Welcome to an interactive Perl program. Enter either q or Q to terminate the program or c to continue. Enter your key now: ";
my $input;
$input = <STDIN>;
chomp $input;
if (($input ne "q") && ($input ne "Q") && ($input ne "c"))
        {
                print "Welcome to an interactive Perl program. Enter either q or Q to terminate the program or c to continue. Enter your key now: ";
                $input = <STDIN>;
                chomp $input;
        }
elsif (($input eq "q") || ($input eq "Q"))
        {
                exit;
        }
else
        {

the parts after else aren't important, as I've tested them and they work fine. It's only the small oddity that I described above that I need assistance with

Last edited by jim mcnamara; 05-09-2017 at 09:03 PM.. Reason: code tag correction
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Having a slight problem!?

having a slight problem. any clues would help. Can't seem to get any output when I run a simple echo script. grex.cyberspace.org% chmod a+x test grex.cyberspace.org% ls -l test -rwxrwx--x 1 gordybh cohorts 20 Dec 13 20:22 test grex.cyberspace.org% cat test #!/bin/sh echo test... (2 Replies)
Discussion started by: wmosley2
2 Replies

2. UNIX for Dummies Questions & Answers

SCCS - A slight scripting issue

I used %H%M for hours and minutes within a date variable, to latch the date/time onto the end of a file, the script it was in is now under SCCS control and the %H% is a predefined parameter for SCCS, so it tags a date with a "/" character in it. Is there a way to tell SCCS to ignore anything... (0 Replies)
Discussion started by: tangent
0 Replies

3. Shell Programming and Scripting

CMP two files with slight difference and return code

I am comparing two files which are identical except for the timestamp which is incorporated within the otherwise same 372 bytes. I am using the command: cmp -s $Todays_file $Yesterdays_file -i 372 When I run the command without the -i 372 it shows the difference i.e. the timestamp.... (5 Replies)
Discussion started by: gugs
5 Replies

4. Shell Programming and Scripting

Perl script error

Hi all I keep getting a segmentation fault error while running the script below. #!/usr/bin/perl -w use CGI ':standard'; use GD::Graph::pie; use strict; use warnings; sub trim($) { my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+$//; ... (4 Replies)
Discussion started by: pietie
4 Replies

5. Shell Programming and Scripting

Need help with a slight modification to my PERL script

Hi all, So I have a script that reads a file called FILEA.txt and in that file there are several columns. The ones that are most important are the $name $start and $stop. So currently the script takes values between the start and stop (inside) by using a program called fastamd. But what I... (4 Replies)
Discussion started by: phil_heath
4 Replies

6. Shell Programming and Scripting

How to merge two files with a slight twist

Hi, a brief introduction on the soundex python module(english sound comparison): import soundex.py a = "neu yorkk" b = "new york city" print soundex.sound_similar(a, b) output: 1 Suppose I want to merge two files, called mergeleft.csv and mergeright.csv Mergeleft.csv: ... (0 Replies)
Discussion started by: grossgermany
0 Replies

7. Linux

Slight Linux Upgrade

Hello Ya'all: I hope Zaxxon is still around. I read a posting about compiling/updating the kernel from source. I'm doing a very specific upgrade, and am wondering if there is anything different or if there's an easy way to do this: I am using kernel version 2.6.18-92, and have done some... (1 Reply)
Discussion started by: Statue
1 Replies

8. Programming

getting error in my perl script

hi Here is my code written to identify the particular position which is after a string (chr*). my input file looks some thing like this aaanbb:anhn:iuopl:12345 chr1 12345 asnmkol * # kjiiii.....anmkij:lpolk:lopll:abnnj chr5 123222 polko * dddfgg .... aaanbb:anhn:iuopl:aanjuj chr2 44345 asnmkol... (1 Reply)
Discussion started by: anurupa777
1 Replies

9. UNIX for Dummies Questions & Answers

[Solved] Slight variation from the desired results

Hello, I am writing a small one liner script to display the tables in my database. I am working with Centos 5.5 and postgresql the command is "psql -c "\dt" | awk '{print$3}'" I just want the 3rd column from the result set, but now the problem is I am getting the third column but with... (3 Replies)
Discussion started by: nnani
3 Replies
ACHECK.1(1)						User Contributed Perl Documentation					       ACHECK.1(1)

NAME
acheck - Check common localization mistakes SYNOPSIS
acheck [OPTIONS] [INPUT_FILE] DESCRIPTION
This program parses a file checking for syntax rules and optionally asking Aspell for checking word spelling. It makes fix suggestions and outputs a corrected file accordingly adding review comments if requested. It tries to find the file type according to the extension or the first lines and loads rules accordingly. It displays lines when they are parse. When an error is found, a menu is displayed. Just press Enter if you don't want to change anything. If a choice suits you, enter the corre- sponding number. If you want to fix it but no choice is correct, enter a space, then you will be asked for a string to replace the high- lighted text. The script will replace the highlighted text with your choice and parse it again for new errors. Here are all the available commands: Enter, ignore. Ignore. Ctrl+L, redraw. Rewrite the last line, suggestions and hints. Space, edit. Edit the highlighted text. E, edit line. Edit the whole line. H, add hint. Add the displayed hint as review comment. Use this if you want the translator to see the corresponding warning or error but you have no correction. N, next line. Skip the rest of this line. X, exit and discard all changes. Quit without saving modifications, the script ask you for confirmation, you have to enter `yes' to exit otherwise parsing starts again at the current mistake. a, add in dictionary. Add the highlighted word to you personal dictionary, capitalized as it is. l, add lowercase in dictionary. Lowercase the highlighted word to add it to your personal dictionary. i, ignore word. Ignore the highlighted word, same as Enter. I, ignore all. Ignore the highlighted word and add it to your session dictionary. OPTIONS
Verbosity level: -q, --quiet quiet mode. -v verbose, start at level $Debug + 1, add more for more verbosity (see below). --verbose n set verbosity level to n (see below). Files: -i, --input input filename, can be '-' to read data from standard input. -o, --output output filename, can be '-' to write data to standard ouput. If no output filename is provided, input file is backed up with `bak_ext' extension and input filename is used. Spell check: -s, --spell check spelling with Aspell. -d language, --dict language use language dictionary for Aspell. -n, --nospell don't check spelling. Mode: -r, --review review mode, add comments on lines beginning with $Comment after parsed line. -t, --trans translator mode, don't add comments, just fix errors. others: --rules ruleset use ruleset rules set. --type filetype use filetype whatever the file type is. --dump Dump the rules to check and exit, use this for debugging purposes. -V, --version print version and exit. -h, --help print a short usage message and exit. Verbosity Level 0 quiet, normal only warnings and errors 1 debug names of subroutines 2 debug verbose names and arguments of subroutines 3 .. 5 debug very verbose output parsing and checking details SEE ALSO
acheck(5), acheck-rules(5) AUTHOR
Nicolas Bertolissio <bertol@debian.org> perl v5.8.4 2003-10-05 ACHECK.1(1)
All times are GMT -4. The time now is 01:57 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy