sub maxFileDate {
my ( $filePrefix_In, @entries_In, $yr_ref, $mth_ref, $dt_ref );
( $filePrefix_In, @entries_In, $yr_ref, $mth_ref, $dt_ref ) = @_ ;
my $entry;
my @fields;
my @fileName;
print "fileName Prefix: " . $filePrefix_In . "\n" ;
##print Dumper @entries_In ;
my $maxdate = 20000101;
foreach $entry (@entries_In) {
##print "$entry \n ";
chomp $entry;
@fields = split /\s+/, $entry;
if ( $fields[0] =~ m/^-/) {
# ** ** ** **
#this a file entry
if ($fields[-1] =~ m/^$filePrefix_In/) {
@fileName = split /\.|_/ , $fields[-1];
print Dumper @fileName ;
print "file name: " . $fields[-1] . " date part: " . $fileName[4]. $fileName[5]. $fileName[6]. "\n";
if ( ('20'. $fileName[4]. $fileName[5]. $fileName[6]) > $maxdate ) {
$maxdate = ('20'. $fileName[4]. $fileName[5]. $fileName[6]) ;
$$yr_ref = $fileName[4];
$$mth_ref = $fileName[5];
$$dt_ref = $fileName[6];
}
} ##file name like
} ##file entries
} ## for each entry
print "yr " . $yr_ref . "\n" ;
print "mth". $mth_ref . "\n" ;
print "dt " . $dt_ref . "\n" ;
print "yr " . $$yr_ref . "\n" ;
print "mth". $$mth_ref . "\n" ;
print "dt " . $$dt_ref . "\n" ;
##$maxdate;
} # maxFileDate
####
if ( !defined( $datein ) ) {
maxFileDate('WSB826TB', @entries, \$yr, \$mth, \$dt );
} # no date passed in
else {
$datea = $datein;
}
print "\nDownload WSB826TB for date: " . $yr. $mth. $dt . "\n";
####
C:\HFAccess\devPostgresql>perl -w xxx_ftpgetTest.pl xxx_ftp.prop
Properties File: xxx_ftp.prop.
Properties
FTPServer = ftp.xxx.ml.com
RemoteDirectory = /outgoing
User Id = mysecretid
LocalServer =
LocalDirectory = C:\HFAccess\xxxx
GPG_HomeDirectory = Q:\Downloads\gnupg\keys
Remote Directory: /outgoing
fileName Prefix: WSB826TB
$VAR1 = 'WSB826TB';
$VAR2 = 'CST238PO';
$VAR3 = 'CSV';
$VAR4 = 'asc';
$VAR5 = '09';
$VAR6 = '04';
$VAR7 = '21';
$VAR8 = '01';
$VAR9 = '10';
file name: WSB826TB.CST238PO.CSV.asc.09.04.21_01.10 date part: 090421
$VAR1 = 'WSB826TB';
$VAR2 = 'CST238PO';
$VAR3 = 'CSV';
$VAR4 = 'asc';
$VAR5 = '09';
$VAR6 = '04';
$VAR7 = '22';
$VAR8 = '00';
$VAR9 = '54';
file name: WSB826TB.CST238PO.CSV.asc.09.04.22_00.54 date part: 090422
$VAR1 = 'WSB826TB';
$VAR2 = 'CST238PO';
$VAR3 = 'CSV';
$VAR4 = 'asc';
$VAR5 = '09';
$VAR6 = '04';
$VAR7 = '23';
$VAR8 = '02';
$VAR9 = '43';
file name: WSB826TB.CST238PO.CSV.asc.09.04.23_02.43 date part: 090423
$VAR1 = 'WSB826TB';
$VAR2 = 'CST238PO';
$VAR3 = 'CSV';
$VAR4 = 'asc';
$VAR5 = '09';
$VAR6 = '04';
$VAR7 = '24';
$VAR8 = '01';
$VAR9 = '33';
file name: WSB826TB.CST238PO.CSV.asc.09.04.24_01.33 date part: 090424
$VAR1 = 'WSB826TB';
$VAR2 = 'CST238PO';
$VAR3 = 'CSV';
$VAR4 = 'asc';
$VAR5 = '09';
$VAR6 = '04';
$VAR7 = '25';
$VAR8 = '00';
$VAR9 = '26';
file name: WSB826TB.CST238PO.CSV.asc.09.04.25_00.26 date part: 090425
yr SCALAR(0x1ae256c)
mthSCALAR(0x1ae2578)
dt SCALAR(0x1ae2584)
yr 09
mth04
dt 25
Use of uninitialized value in concatenation (.) or string at xxx_ftpgetTest.pl line 153.
Use of uninitialized value in concatenation (.) or string at xxx_ftpgetTest.pl line 153.
Use of uninitialized value in concatenation (.) or string at xxx_ftpgetTest.pl line 153.
Download WSB826TB for date:
C:\HFAccess\devPostgresql>