My program requirs to read an input file with 3 columns(month dates, fileSize, fileName)in 3 steps: Here I only sample 2 months dates in Julian year order to give an example.
I do need help to correct my code; when I run it, it doesn't go to output file, and the output is not in individual month but in whole months. Much appreciated if anyone could improve my code to approach the solution.
Here is my input file format.
001 175 FILENAMEHere is my code:
#!/usr/bin/perl use strict; use warning; use Data::Dumper; use File::Find; use File::stat; use sort 'stable'; my $filin = '/root/scripts/newsort.in'; my $fleot = '/root/scripts/results/size.out'; open my $fh, $filin || die $!; open my $fot, ">$fleot" || die $!; ##Define month lengths @Janlen = ( '006', '007', '008', '009', '010', '011', '012', '013', '0 +14', '015', '016', '017', '018', '019', '020', '021', '022', '023', ' +024', '025', '026', '027', '028', '029', '030', '031' ); @Feblen = ( '032', '033', '034', '035', '036', '037', '038', '039', '0 +40', '041', '042', '043', '044', '045', '046', '047', '048', '049', ' +050', '051', '052', '053', '054', '055', '056', '057', '058', '059' ) +; #Define month hash %mthlens = (@Janlen, @Feblen); my @julens = %mthlens; my $julias = @julens; my $Janlias = @Janlen; my $Feblias = @Feblen; my $Marlias = @Marlen; while (%mthlens=<$fh>){ chomp; my %lengths = map { $_ => length $_ } %mthlens; while ( my ($Janlen,$length,$filename) = each %lengths) { @s = sort { $length{$b} <=> $length{$a}} keys %length; print join("\t", $Janlen, $length, $filename ), "\n"; } }
In reply to Help! Stuck on methods to count file size. by haimei
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |