John W. Krahn wrote:
Richard Lee wrote:
Dr.Ruud wrote:
But better stop guessing and let Richard answer.
yes, variables are particular names and later I wanted to refer back
by variable names.
However, for now I have done this so far so I just added as array
instead of breaking out by var names..
-- code is incomplete (meaning I haven't finished yet) --
use warnings;
use strict;
use Data::Dumper;
my $directory = q#/home/server1/arch#;
my @array = qx/ls -tr $directory | tail -1/;
You are only getting one file name (tail -1) so why are you assigning
it to an array? It would be more efficient to do that directly in
perl. Also you haven't removed the newline.
my @hh;
for ( @array ) {
my $file = $_;
Usually written as:
for my $file ( @array ) {
Since @array only has one file name in it why do you need the loop?
open FILE, "ls -tr | zcat -d $directory/$file |", or die qq/you
My version of zcat does not have a -d switch, what does it do on your
system? It appears that "ls -tr | " in front of zcat is superfluous?
What do you think it will do there?
truly suck $!\n/;
my $count;
my %hh;
while (<FILE>) {
chomp;
next if /^$/;
next if /^#/;
my @array = map $_||'default', (split
Why does this array have the same name as the other array in file scope?
/\|/)[3,4,6,7,12,40,41,42,43,46,56,64];
next if $array[0] eq 'default';
$array[10] =~ s/\,/\-/g;
More efficient as:
$array[10] =~ tr/,/-/;
push @hh, [EMAIL PROTECTED];
}
close FILE;
When you close a piped open you should verify that the pipe closed
correctly:
close FILE
or warn $! ? "Error closing ls pipe: $!"
: "Exit status $? from ls";
}
system("clear");
print
"===================================================================================================\n\n";
my %missing_address;
my %duration_report;
for (@hh) {
my $yahoo = $_;
Usually written as:
for my $yahoo ( @hh ) {
$missing_address{$$yahoo[1]}++ if $$yahoo[8] =~ /^default$/ and
$$yahoo[0] != m/espn|google|msn/;
$$yahoo[4] +=
$$yahoo[] is usually written as $yahoo->[].
$$yahoo[8] =~ /^default$/ is usually written as $yahoo->[8] eq 'default'.
$$yahoo[0] != m/espn|google|msn/ is incorrect, you probably meant
$yahoo->[0] !~ m/espn|google|msn/.
}
if (%missing_cics) {
for (keys %missing_address) {
print "MISSING ADD: $_ : $missing_address{$_} \n";
}
}
for (keys %duration_report) {
print "total duration $_ : $duration_report{$_}\n";
}
John
thanks for pointing things out.. I am going to finish this script
tonight and incoporate correction and post.. thank you so much
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/