Perl programming error


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl programming error
# 1  
Old 12-01-2010
Perl programming error

Hi, everyone!!
i am new to perl programming.. plz help me.

Code:
 
#!C:/perl/bin
use warnings;
use strict;
use Text::CSV_XS;
my @rows = "";
my $row;
my $count;
my $fh;
my @fields = "";
my $csv = Text::CSV_XS->new ({binary =>1}) or
die "cannot use CSV:" .Text::CSV->error_diag ();
open $fh,"<:encoding(utf8)","week.csv" or die "week.csv";
while($row = $csv->getline($fh))
{
if($row->[20] == "null"){
for ($count=1; $count<=13; $count++)
{
 $row->[$count] = "null";
 
 }
 }
 push @rows,$row;
 }
 
 $csv->eof or $csv->error_diag ();
 
 close $fh;
 
$csv->eol("\r\n");
 open $fh,">:encoding(utf8)", "week.csv" or die "new.csv: $!";
 $csv->print ($fh,$_) for @$row;
 
 close $fh or die "new.csv:$!";

is this above program correct?
i get a error message saying:

Quote:
Use of uninitialized value in numeric eq (==) t line 19

the line 19 is
Quote:
if($row->[20]== "\0"){
i want to update column 21 of csv file

Last edited by kvth; 12-01-2010 at 03:38 AM..
# 2  
Old 12-01-2010
You dont have any value in left side of the comparison i guess.

Dump the array, and check how many value it has, and whether it has the 20th value.
# 3  
Old 12-01-2010
Hi,
check if the variable is empty before using it:


if (defined ($row->[20]) ) {....
# 4  
Old 12-01-2010
Quote:
Use of uninitialized value in numeric eq (==) t line 19
'==' is use to compare numerice values only. If you want to compare other than numerice, you will use the 'eq' operator. So you aviod this error you modify the below lines in your code.
Code:
if($row->[20] eq ''){

Quote:
$csv->print ($fh,$_) for @$row;
For the previous lines you dump all the records at '@rows'. But here you are using the @$row. Change the line as below
Code:
$csv->print ($fh,$_) for @rows;

You are using the same file (week.csv) input as well as output file. give another name to the output file and Change the above lines and run the program. I hope you may be got the answer.

Last edited by k_manimuthu; 12-01-2010 at 04:42 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl programming issue

Dears, I want to print filename and count of each file in perl but failing to implement. `find $srcFolder -maxdepth 1 -type f -name "*$workDate*$fileExt" -exec sh -c ' && printf "$workDate|%s|%s\n" "$(wc -l<"$0")" *$workDate*$fileExt' {} \ >> /Sadique/filelog.out \\; 2> /dev/null`; ... (2 Replies)
Discussion started by: sadique.manzar
2 Replies

2. Shell Programming and Scripting

Socket Programming in Perl

Hi All I am getting an error when using the below code Receiver use IO::Socket; $sock = new IO::Socket::INET (LocalHost => 'goldengate', LocalPort => 1200, Proto => 'tcp', Listen => 5, Reuse => 1 ); die "Socket could not be created. Reason: $!" unless $sock; while ($new_sock =... (5 Replies)
Discussion started by: parthmittal2007
5 Replies

3. Shell Programming and Scripting

Perl programming help

I am trying to make a simple perl program that reads 20 characters upstream from the codon ATG in a given sequence. The following is what I have. I just dont know how to make the program read 20 characters upstream from the ATG codon. print "\nThis program will read 20 characters upstream... (1 Reply)
Discussion started by: patiencenpray
1 Replies

4. Shell Programming and Scripting

perl programming

how to link the linux files in perl on the local webpage ???? suppose we have some results and want to get them published on the local webpage of our internal site. how this can be done using HTML and perl together , so that the results are published directly on the webpage. thanks kullu (0 Replies)
Discussion started by: kullu
0 Replies

5. Programming

Help me with perl programming

Hi, i am very beginer to perl, I am reading one xml file and i am creating hash table for that file. i written code like this #!/usr/bin/perl use warnings; use strict; use XML::LibXML::Reader; #Reading XML with a pull parser my $file; open( $file, 'formal.xml'); my $reader =... (8 Replies)
Discussion started by: veerubiji
8 Replies

6. Programming

Programming help - Perl !

I am having a text file with Vivek 50 Ram 34 Hulk 45 Vivek 23 Ram 23 Vivek 55 Now I need a perl script to display the fields of 1st column & the 2nd column with summation (& avoid the duplicates). Vivek 128 Ram 57 hulk 45 Plz help me... (1 Reply)
Discussion started by: gameboy87
1 Replies

7. Shell Programming and Scripting

Perl Vs Shell Programming

Can someone please tell me what the big deal about perl is? i have been doing shell programming for quite a number of years and I have to say, there's very little if any thing that I can't do in shell programming. i just need to investigate how to do it. so, my question is, does deep... (1 Reply)
Discussion started by: SkySmart
1 Replies

8. Programming

Perl Programming with Mapping

use strict; print "Enter last 4 digits of phone number:"; chomp(my $number=<>); die "Invalid number: '$number'\n" unless $number=~/^\d{4}$/; my @d=split(undef,$number); my %map={ 2=>"", 3=>"", 4=>"", 5=>"", 6=>"", 7=>"", 8=>"", 9=>"", }; my $r=$map{$d}.$map{$d}.$map{$d}.$map{$d};... (1 Reply)
Discussion started by: tturn33
1 Replies

9. Shell Programming and Scripting

Perl Programming for Splitting

Hi, I am extracting SQL queries into a file and the file is as follows ********************************************************* select BatchKey ,restartStatus ,batchContextBuffer ,batchPgmId ,StartKey , EndKey ,Mcbatchcontrol_ver from qsecminload.Mcbatchcontrol_t where RefId = :1 ... (5 Replies)
Discussion started by: sagarbsa
5 Replies

10. UNIX for Dummies Questions & Answers

PERL - DB programming

Hi friends, What are the possible ways to connect to DB2 database from Perl (on unix). I need to connect to DB2 and get records for further processing. Can you please suggest the best possible way. I heard about DBI/DBD, if you have some sample scripts please post them too. Thanks in advance. (3 Replies)
Discussion started by: satguyz
3 Replies
Login or Register to Ask a Question