in reply to Re^4: regarding file from the directory and executing some commands and placing the out put on exceel sheet.
in thread regarding file from the directory and executing some commands and placing the out put on exceel sheet.

I understand now why you had 2 loops.
Try this, as before replace #test lines with your lines marked ##
#!perl use strict; use warnings; my @test = (470,278); #test my @Gkel=(); my @Gkel_gz=(); my @TT1=(); my @files = qw( Gkel_check.1.ABC.dat.gz check.1.ABC_TT1.dat check.1.AB_TT1.dat ); #test ##opendir( DIR, $dir ); ##my @files = grep( /$pattern/, readdir(DIR) ); ##closedir(DIR); ##chdir($dir); # sort so that AB_ comes after ABC foreach my $file (sort @files) { # check gz file if ( ($file =~ m/^Gkel_/) && ($file =~ m/gz$/) ){ ## my $result = `gunzip -c $file|tail -1`; ## my $count = substr($result,22,8); my $count = 108418; #test $Gkel_gz[0] = $file; $Gkel_gz[1] = $count; # extract .dat file ## system(`gunzip -f $file`); } # check TT1 files if ( $file =~ m/^check.*TT1.dat$/ ){ ## my $result = `wc -l $file`; ## my ($count, $file_name) = split(' ',$result); my $count = shift @test; #test push @TT1,[$file,$count]; } } # process extracted file ##opendir( DIR, $dir ); ##my @files = grep( /$pattern/, readdir(DIR) ); ##closedir(DIR); ##chdir($dir); push @files,'Gkel_check.1.ABC.dat'; #test foreach my $file (@files) { # extracted file if ( ($file =~ m/^Gkel_/) && ($file !~ m/gz$/) ){ #my $result = `wc -l $file`; #my ($count, $file_name) = split(' ',$result); my $count = 107948; # remove Gkel from filename my $file1 = substr($file,5,50); $Gkel[0] = $file; $Gkel[1] = $count; #system(`mv $file $file1`); } } # Ouput my @row1 = ('Jun-2013', # $Gkel_gz[0],$Gkel_gz[1], # zip filename and count $TT1[0]->[0],$TT1[0]->[1], # ABC_TT filename and count $Gkel[0],$Gkel[1] # unzipped filename and count ); my @row2 = ( $TT1[1]->[0],$TT1[1]->[1] # AB_TT filename and count ); print join ',',@row1,"\n"; print join ',',@row2,"\n";
poj
  • Comment on Re^5: regarding file from the directory and executing some commands and placing the out put on exceel sheet.
  • Download Code

Replies are listed 'Best First'.
Re^6: regarding file from the directory and executing some commands and placing the out put on exceel sheet.
by Perlseeker_1 (Acolyte) on Jun 24, 2013 at 09:09 UTC
    Hi,

    Now i am getting the output on two lines

    But i want write these to excel sheet and i am using

    my @row1 = ('Jun-2013',$Gkel_gz[0],$Gkel_gz[1],$TT1[0]->[0],$TT1[0]->[ +1],$Gkel[0],$Gkel[1]); my @row2 = ($TT1[1]->[0],$TT1[1]->[1]); print DETAIL "Jun-2013,$Gkel_gz[0],$Gkel_gz[1],$Gkel_gz[1],$TT1[0]->[0 +],$TT1[0]->[1],$Gkel[0],$Gkel[1],$Gkel[1],TRUE\n"; print DETAIL "'\t','\t','\t','\t',$TT1[1]->[0],$TT1[1]->[1]\n";

    Output what i am getting now

    Line numebr 1

    Jun-2013 Gkel_check.1.ABC.dat.gz count check.1.ABC_TT1.dat count check +.1.ABC.dat.gz count

    Line numebr 2

    check.1.AB_TT1.dat count

    but i want the line number 2 output below check.1.ABC_TT1.dat count

    Expected

    Jun-2013 Gkel_check.1.ABC.dat.gz count check.1.ABC_TT1.dat count check +.1.ABC.dat.gz count check.1.AB_TT1.dat count

    And also the regards,