Using associative arrays with an if statement


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using associative arrays with an if statement
# 1  
Old 03-27-2012
Using associative arrays with an if statement

I have this piece of code. The first if statement is not working, however the second if statement is working fine.

I have set a value for Srcs to be file.srcs and want to print it.
If no value for Rcvs is set, I get the print statement correctly

Code:
hasValue[Srcs]="file.srcs"
if ${hasValue[Srcs]}; then
  echo "Value[Srcs] = ${hasValue[Srcs]}"
fi

if ! ${hasValue[Rcvs]}; then
  echo "No value for Rcvs"
fi

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Associative arrays awk

Hi, I have the following dataset. A 2 1 272 A 2 2 333 A 2 3 222 A 3 1 222 A 3 2 11 B 1 1 112 B 1 2 998 B 2 1 667 C 1 1 887 C 1 2 887 C 2 1 998 I need to have an associate array based on the first column and generate a auto generated number column in the last column. Needed output:... (2 Replies)
Discussion started by: mitt
2 Replies

2. UNIX for Dummies Questions & Answers

If statement between different file's arrays

Hi guys Let me explain at first what I'm trying to do. My input file looks like this. 1280 Surfaces Pt 0.00000000000000 0.00000000000000 0.00000000000000 Pt 2.81138845918055 0.00000000000000 0.00000000000000 Pt 5.62277691836110 0.00000000000000 ... (5 Replies)
Discussion started by: saleheen
5 Replies

3. Shell Programming and Scripting

Associative array

I have an associative array named table declare -A table table="fruit" table="veggie" table="GT" table="eminem" Now say I have a variable returning the value highway How do I find corresponding value GT ?? (this value that I find (GT in this case) is supposed to be the name of a mysql... (1 Reply)
Discussion started by: leghorn
1 Replies

4. Shell Programming and Scripting

Improving code by using associative arrays

I have the following code, and I am changing it to #!/bin/bash hasArgumentCModInfile=0 hasArgumentSrcsInfile=0 hasArgumentRcvsInfile=0 OLDIFS="$IFS" IFS="|=" # IFS controls splitting. Split on "|" and "=", not whitespace. set -- $* # Set the positional... (3 Replies)
Discussion started by: kristinu
3 Replies

5. Programming

question about int arrays and file pointer arrays

if i declare both but don't input any variables what values will the int array and file pointer array have on default, and if i want to reset any of the elements of both arrays to default, should i just set it to 0 or NULL or what? (1 Reply)
Discussion started by: omega666
1 Replies

6. Shell Programming and Scripting

associative arrays?

Hello, i'm writing a little script that checks a .txt file for a specific ID that came after 9:10 am which outputs it's data to a file LateUsers.txt once done , it should mention the following: Number of late users Number of unique late users Over all late users percentage number of... (0 Replies)
Discussion started by: rollyah
0 Replies

7. Shell Programming and Scripting

Associative arrays

Hi all, #!/usr/dt/bin/dtksh typeset -A wavelength wavelength=650 wavelength=590 wavelength=510 wavelength=475 wavelength=445 wavelength=400 I have created an associative array like the one above. Now I am trying to print the values If i give print ${wavelength} it is... (4 Replies)
Discussion started by: prasperl
4 Replies

8. UNIX for Dummies Questions & Answers

Unable to understand associative nature of awk arrays

About associative nature of awk arrays i'm still confused, not able to understand yet how array element can be accessed based on a string, I got one example at gawk manual to illustrate associative nature of awk arrays, it goes here: Codeawk ' # Print list of word frequencies { for (i = 1;... (3 Replies)
Discussion started by: nervous
3 Replies

9. UNIX for Dummies Questions & Answers

are Associative Arrays possible in UNIX?

Is it possible to say.. myArr=34 myArr=15 ? (11 Replies)
Discussion started by: yongho
11 Replies

10. Shell Programming and Scripting

Associative Array

Hi, I am trying to make an associative array to use in a popup_menu on a website. Here is what i have: foreach $entr ( @entries ) { $temp_uid = $entr->get_value(uid); $temp_naam = $entr->get_value(sn); $s++; } This is the popup_menu i want to use it in. popup_menu(-name=>'modcon',... (4 Replies)
Discussion started by: tine
4 Replies
Login or Register to Ask a Question
Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommUseraContriPerl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements(3)

NAME
Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements - Don't use the comma operator as a statement separator. AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Perl's comma statement separator has really low precedence, which leads to code that looks like it's using the comma list element separator not actually doing so. Conway suggests that the statement separator not be used in order to prevent this situation. The confusion that the statement separator causes is primarily due to the assignment operators having higher precedence. For example, trying to combine two arrays into another like this won't work: @x = @y, @z; because it is equivalent to @x = @y; @z; Conversely, there are the built-in functions, like "print", that normally force the rest of the statement into list context, but don't when called like a subroutine. This is not likely to produce what is intended: print join q{, }, 2, 3, 5, 7, ": the single-digit primes. "; The obvious fix is to add parentheses. Placing them like print join( q{, }, 2, 3, 5, 7 ), ": the single-digit primes. "; will work, but print ( join q{, }, 2, 3, 5, 7 ), ": the single-digit primes. "; will not, because it is equivalent to print( join q{, }, 2, 3, 5, 7 ); ": the single-digit primes. "; CONFIGURATION
This policy can be configured to allow the last statement in a "map" or "grep" block to be comma separated. This is done via the "allow_last_statement_to_be_comma_separated_in_map_and_grep" option like so: [ValuesAndExpressions::ProhibitCommaSeparatedStatements] allow_last_statement_to_be_comma_separated_in_map_and_grep = 1 With this option off (the default), the following code violates this policy. %hash = map {$_, 1} @list; With this option on, this statement is allowed. Even if this option is off, using a fat comma "=>" works, but that forces stringification on the first value, which may not be what you want. BUGS
Needs to check for "scalar( something, something )". AUTHOR
Elliot Shank "<perl@galumph.com>" COPYRIGHT
Copyright (c) 2007-2011 Elliot Shank. 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.16.3 Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements(3)