06-09-2008
This is the case of the dangling pointer problem. You declare and initialize the variables in the prompt() function but when it returns to main() all of those disappear leaving the pointer variable in a state of limbo. The fact that your code works when it is all in main() should tell you that there is a disconnect in the way the functions exchange data.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
When I execute following shell script I am getting the following error
syntax error at line 50 : `<<' unmatched
What am I doing wrong :confused:
Script begins here
----------------
MPAN_FILE=$1
exec 3<$MPAN_FILE ... (2 Replies)
Discussion started by: guptan
2 Replies
2. UNIX for Dummies Questions & Answers
#!/usr/bin/csh
#
DAY=`date +%y%m%d`
H=`date +%H`
M=`date +%M`
mailx -s "$H-Myfile" email@email.com</home/mydir/myfile
Thanks! (4 Replies)
Discussion started by: bobo
4 Replies
3. Shell Programming and Scripting
Does anyone see anything wrong with this.
#getInfraFiles()
#{
# cd Infra/$DAY
# rm *
# /usr/bin/ftp -i -n $LINE << cmd
# user "$USER" "$PASSWD"
# cd $INFRAPATH
# binary
# mget *
# bye
#}
besides that its commented out (4 Replies)
Discussion started by: rcunn87
4 Replies
4. UNIX for Dummies Questions & Answers
Hello,
I have a simple script such as
-----------------------------
#! /bin/sh
YEAR=`date -u +%Y`;
MONTH=`date -u +%m`;
DAY=`date -u +%d`;
DATE=$MONTH$DAY$YEAR
LOGFILES=auditTrail-$DATE
LOGMATCH=$LOGFILES\*
ARGUM=''
# find all files and write them to a file
find . -name... (7 Replies)
Discussion started by: arushunter
7 Replies
5. UNIX for Dummies Questions & Answers
I really just mess around in UNIX, for the most part, when I want to get something done. I can usually piece things together by searching for brief how-to's on Google, but the syntax errors in my following .sh file are really confusing me. I've got lots of programming experience in other places, so... (7 Replies)
Discussion started by: demonpants
7 Replies
6. UNIX for Dummies Questions & Answers
here is my command in bash shell on Mac OS X tiger:
history | tr -d emacs
here is what I get:
hitory | grp "" | tr -d ""
hitory | grp "" | tr -d """"
hitory | grp "" | tr -d ''
hitory | grp "" | tr -d ''
hitory | grp "" | tr -d ''
hitory | grp "" | tr -d... (3 Replies)
Discussion started by: cleansing_flame
3 Replies
7. Shell Programming and Scripting
when user select option 2 nothing happen.for testing purpose I put
echo command but is not executing .
basically when user prompt for option 2,I want to get list of database name from user separeted by space (TEST DEVL)
and put into the file seprated by new line
TEST
DEVL
after that stay on... (1 Reply)
Discussion started by: okreporthai
1 Replies
8. UNIX for Dummies Questions & Answers
]#PATH=/usr/bin:/etc:/bin:/boot/grub:/boot/grup/bin:
/boot/solaris/bin:/sbin:/usr/openwin/bin:/usr/5bin://usr/X11/bin:/usr/apache/bin:/usr/apache2/bin:/usr/appserver/bin:... (9 Replies)
Discussion started by: microbot
9 Replies
9. UNIX for Advanced & Expert Users
I am working on a simple login ID check shell script that should prompt for a user ID then check to see if this user is logged on. Trying to get the hang of this stuff so I am thinking of my own little projects.
#! /bin/sh
echo "please enter a user name"
read user
if user=$user
then... (3 Replies)
Discussion started by: jsk319342
3 Replies
10. Shell Programming and Scripting
Hi ! all I am just trying to check range in my datafile
pls tell me why its resulting wrong
admin@IEEE:~/Desktop$ cat test.txt
0 28.4
5 28.4
10 28.4
15 28.5
20 28.5
25 28.6
30 28.6
35 28.7
40 28.7
45 28.7
50 28.8
55 28.8
60 28.8
65 28.1... (2 Replies)
Discussion started by: Akshay Hegde
2 Replies
LEARN ABOUT DEBIAN
perl::critic::policy::variables::prohibitpackagevars
Perl::Critic::Policy::Variables::ProhibitPackageVars(3pmUser Contributed Perl DocumentatiPerl::Critic::Policy::Variables::ProhibitPackageVars(3pm)
NAME
Perl::Critic::Policy::Variables::ProhibitPackageVars - Eliminate globals declared with "our" or "use vars".
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Conway suggests avoiding package variables completely, because they expose your internals to other packages. Never use a package variable
when a lexical variable will suffice. If your package needs to keep some dynamic state, consider using an object or closures to keep the
state private.
This policy assumes that you're using "strict vars" so that naked variable declarations are not package variables by default. Thus, it
complains you declare a variable with "our" or "use vars", or if you make reference to variable with a fully-qualified package name.
$Some::Package::foo = 1; # not ok
our $foo = 1; # not ok
use vars '$foo'; # not ok
$foo = 1; # not allowed by 'strict'
local $foo = 1; # bad taste, but technically ok.
use vars '$FOO'; # ok, because it's ALL CAPS
my $foo = 1; # ok
In practice though, its not really practical to prohibit all package variables. Common variables like $VERSION and @EXPORT need to be
global, as do any variables that you want to Export. To work around this, the Policy overlooks any variables that are in ALL_CAPS. This
forces you to put all your exported variables in ALL_CAPS too, which seems to be the usual practice anyway.
CONFIGURATION
There is room for exceptions. Some modules, like the core File::Find module, use package variables as their only interface, and others
like Data::Dumper use package variables as their most common interface. These module can be specified from your .perlcriticrc file, and
the policy will ignore them.
[Variables::ProhibitPackageVars]
packages = Data::Dumper File::Find FindBin Log::Log4perl
This is the default setting. Using "packages =" will override these defaults.
You can also add packages to the defaults like so:
[Variables::ProhibitPackageVars]
add_packages = My::Package
You can add package "main" to the list of packages, but that will only OK variables explicitly in the "main" package.
SEE ALSO
Perl::Critic::Policy::Variables::ProhibitPunctuationVars
Perl::Critic::Policy::Variables::ProhibitLocalVars
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
perl v5.14.2 2012-06-07 Perl::Critic::Policy::Variables::ProhibitPackageVars(3pm)