When I ran your program I got error as "Useless use of split in void context at..." So I changed the code little bit, please have a look at, below, it works fine now.
#!/usr/bin/perl use strict; use warnings; $,="\t"; open(IN,"<hcspln_plforecast.txt"); open(OUT,">plforecast.txt"); $_=<IN>; $_=<IN>; while(<IN>) { y/"//d; if(/^No_Company/) {next;} s/#Mi/0.00/g; my @Array = split(/,/); if($Array[1] =~ /CC_/) { if($Array[5] =~ /^PL_/) { $Array[0] =~ s/COCD_//; $Array[5] =~ s/^PL_//; print OUT $Array[0],$Array[1],$Array[5]; splice(@_,0,8); print OUT "",@_; } } }
Here, I used @Array variable to hold the splitted values.
As you have not given as sample input file content from hcspln_plforecast.txt assumed as follow and test the script.
hcspln_plforecast.txtline:1 line:2 COCD_1234,CC_line3,c,d,e,PL_line3 COCD_2344,CC_line4,h,h,i,PL_line4
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl Monks, Newbie to perl, running this script below is not outputing any data, plforecast.txt is 0 bytes, any help will be great
by perlnobie (Initiate) on Jan 07, 2015 at 19:44 UTC |