"Use of uninitialized value" in perl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting "Use of uninitialized value" in perl
# 1  
Old 12-11-2010
"Use of uninitialized value" in perl

Hi Guys,
I am trying to run a Perl code which reads the csv file and has to write certain fields to another file .

I see the following when trying to execute the script

Use of uninitialized value in string eq at ./file.pl line 19, <> line 13.
Use of uninitialized value in concatenation (.) or string at ./file.pl line 23, <> line 13.
Use of uninitialized value in substitution (s///) at ./file.pl line 42.


It is throwing the above messages at the following statements:
if ($fname eq ' ')
{
$fname=$lname
}


print FILE "Writing fname=\"$name\" lname=\"$lname\" id=\"$id\" \n";

Could anyone please tell me the root cause for this.


Thanks in advance!!
# 2  
Old 12-11-2010
Please show some more code of your program and csv file as well. It seems that the value in $fname variable is not being set in some cases while spliting the csv file.
R0H0N
# 3  
Old 12-11-2010
My guess is that you have "my $fname;" somewhere near the top of your script, and it isnt being set to anything before the
Code:
if ($fname eq ' ')

If you change it to
Code:
my $fname="";

you wont get the error.
# 4  
Old 12-11-2010
Thanks for the reply.

Basically I am passing the "csv" file as a parameter to the script.
Reading this file in the script like:
@lines=<>;
After this i am splitting the file at commas and writing the data into another array.
open (FL,">>file");
print FL "Print something here\n";
$fname=$fields[0];
$lname=$fields[1]'
$id=$fields[2];
if ($fname eq ' ') {
$fname=$lname;
}
print FL "Write the name=\"$name\" fname=\"$fname\" id=\"$id\" \n";

Thanks!!

---------- Post updated at 04:40 AM ---------- Previous update was at 04:37 AM ----------

Actually I am able to write the data to file though i see these messages. I happened to see in the file that $fname="" $lname="" $id="" ......after it has written some data into the file.
Are these messages considered to be ERRORS or WARNINGS?
# 5  
Old 12-11-2010
U can avoid this by

Code:
$fname=$fields[0] if (defined "$fields[0]");
$lname=$fields[1] if (defined "$fields[1]");
$id=$fields[2] if (defined "$fields[2]");

So, it will assign values to respective variables only if the value is defined.
R0H0N
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

Perl failure with "main::$fn" used only once:" in error logs

Hi all, Can anyone guess why this is happening? I am new to Perl, so please help me to fix this error: - I have a static html file which calls the cgi-perl script. HTML Code: <html> <head> <title> Hey Dude! </title> </head> <body> <form method="POST"... (3 Replies)
Discussion started by: bashily
3 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. Shell Programming and Scripting

Perl "uninitialized value"

I have the following script: ************************************** #!/usr/bin/perl use strict; use warnings; use Spreadsheet::ParseExcel; use Spreadsheet::WriteExcel; use WordNet::Similarity::lesk; use WordNet::QueryData; my $wn = WordNet::QueryData->new(); my $lesk =... (2 Replies)
Discussion started by: RyNye
2 Replies

7. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

8. Shell Programming and Scripting

perl folder list with "..", without ".".

Hi Everyone, if my folder "foldera" inside has one file. so if i do if ($df =~ /^\./) { next; } then i will get ### filea ### if i want to have ### .. filea ### means also display the parent .., how should i modify the perl ~// in my code? Thanks ---------- Post updated... (6 Replies)
Discussion started by: jimmy_y
6 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question