in reply to Perl Monks, Newbie to perl, running this script below is not outputing any data, plforecast.txt is 0 bytes, any help will be great

Hi perlnobie

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.txt
line:1 line:2 COCD_1234,CC_line3,c,d,e,PL_line3 COCD_2344,CC_line4,h,h,i,PL_line4

All is well
  • Comment on Re: Perl Monks, Newbie to perl, running this script below is not outputing any data, plforecast.txt is 0 bytes, any help will be great
  • Select or Download Code

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
    Thanks Much, Appreciate your concern and inputs.