#!C:\perl\bin\perl.ex#!C:\perl\bin\perl.exe use strict; my @fileinfo; my @sysfiles; my $i = 0; my $md5sum; my $filename; my $md5data; my @md5info; my @md5filename; open(FILE, "knownbad.txt") or die("Unable to open file"); my @knownbad = <FILE>; close(FILE); my $k = 0; foreach $md5data (@knownbad) { chop($md5data); ($filename, $md5sum) = split(/\,/, $md5data); $md5info[$k] = [$filename, $md5sum]; $md5filename[$k] = $filename; $k++; } open FILES, "psexec.exe -n 2 \\\\1.2.3.4 cmd.exe \/C dir C\:\\ \/S \/B + |" or die; while ( <FILES> ) { my $dir; my $file; ( $dir, $file ) = m/(.*)[\\\/](.+)/ ? ( $1, $2 ) : ( undef, $_ ); # print "$file is in the directory $dir\n"; $fileinfo[$i] = [$file, $dir]; $sysfiles[$i] = $file; $i++; } close FILES; sleep 5; my $filecount = (scalar (@fileinfo)) - 1; my $hashcount = (scalar (@md5info)) - 1; my $refarray1 = $fileinfo[$filecount]; print "File: $refarray1}[0] --- Directory: ${$refarray1}[1]]\n"; my $refarray2 = $md5info[$hashcount]; my @isect_list; my %isect = (); map { $isect{$_} = 1 } @md5filename; @isect_list = grep { $isect{$_} } @sysfiles; my @uniq = sort keys %{ { map { $_, 1 } @isect_list } }; my @matchedfiles; my $intersect; foreach $intersect (@uniq) { my $c=0; while ($c <= $filecount){ $refarray1 = $fileinfo[$c]; if (${$refarray1}[0] eq $intersect) { print "File: ${$refarray1}[0] in directory ${$refarray1}[1]\n"; push(@{$matchedfiles[$c]}, [${$refarray1}[0], ${$refarray1}[1]]) +; } $c++; } } print "\n\n"; my $refarray3 = $matchedfiles[5]; print "it's not defined!\n" unless defined(${$refarray3}[0]); print "it's not defined!\n" unless defined(${$refarray3}[1]); print "File: ${$refarray3}[0] in directory ${$refarray3}[1]\n";
In reply to Uninitialized value in concatenation (.) or string? by jbush82
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |