MoodyDreams999 has asked for the wisdom of the Perl Monks concerning the following question:
#path to astguiclient configuration file: $PATHconf = '/etc/astguiclient.conf'; open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; @conf = <conf>; close(conf); $i=0; foreach(@conf){ $line = $conf[$i]; $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} if ( ($line =~ /^VARDB_custom_user/) && ($CLIDB_custom_user < 1) ) {$VARDB_custom_user = $line; $VARDB_custom_user =~ s/.*=//gi +;} if ( ($line =~ /^VARDB_custom_pass/) && ($CLIDB_custom_pass < 1) ) {$VARDB_custom_pass = $line; $VARDB_custom_pass =~ s/.*=//gi; +} if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} $i++; } if (!$VARDB_port) {$VARDB_port='3306';} #use strict; use warnings; use Excel::Writer::XLSX; use DBI; use Time::Piece; use Math::Round; my $t = "" . $i; $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VAR +DB_port", "$VARDB_user", "$VARDB_pass") or die "Couldn't connect to database: " . DBI->errstr; my $rowCount = 0; my $filename = "Output2022.xlsx"; my $workbook = Excel::Writer::XLSX->new( $filename ); open(FH, "<", "Debt.csv" ) or die; my $worksheet = $workbook->add_worksheet('List'); my $worksheet2 = $workbook->add_worksheet('List2'); my $format = $workbook->add_format(); my $format1 = $workbook->add_format(); my $format2 = $workbook->add_format(); $format->set_center_across(); $format1->set_color( 'red' ); $format2->set_bold(); #proper format must be used for the file or it will give an error $worksheet->set_column( 8, 8, 20 ); $worksheet->set_column( 10, 10, 15 ); $worksheet->set_column( 4, 4, 18 ); $worksheet->set_column( 5, 5, 15 ); $worksheet->set_column( 12, 12, 65 ); $worksheet->write(0, 0, "source_id" ); $worksheet->write(0, 1, "first_name" ); $worksheet->write(0, 2, "middle" ); $worksheet->write(0, 3, "last_name" ); $worksheet->write(0, 4, "address1" ); $worksheet->write(0, 5, "city"); $worksheet->write(0, 6, "state"); $worksheet->write(0, 7, "postal_code"); $worksheet->write(0, 8, "phone_number"); $worksheet->write(0, 9, "address3"); $worksheet->write(0, 10,"province"); $worksheet->write(0, 11, "email"); my $rowCount1 = my $rowCount2 = 0; $worksheet->set_column( 8, 8, 20 ); $worksheet->set_column( 10, 10, 15 ); $worksheet->set_column( 4, 4, 20 ); $worksheet->set_column( 5, 5, 15 ); $worksheet->set_column( 12, 12, 62 ); $worksheet2->write(0, 0, "source_id" ); $worksheet2->write(0, 1, "first_name" ); $worksheet2->write(0, 2, "middle" ); $worksheet2->write(0, 3, "last_name" ); $worksheet2->write(0, 4, "address1" ); $worksheet2->write(0, 5, "city"); $worksheet2->write(0, 6, "state"); $worksheet2->write(0, 7, "postal_code"); $worksheet2->write(0, 8, "phone_number"); $worksheet2->write(0, 9, "address3"); $worksheet2->write(0, 10,"province"); $worksheet2->write(0, 11, "email"); while (<FH>){ chomp; my @t= split(',',$_); if (length($t[8]) == 10) { # && (length($t[7])==4 || length($ +t[7])==5)) if (!defined($t[7]) || $t[7] eq ''){ $stmt="SELECT postal_code, state FROM asterisk.vicidia +l_postal_codes WHERE state='".$t[6]."' limit 1;"; $sth = $dbhA->prepare($stmt) or die "preparing: ",$dbh +A->errstr; $sth->execute or die "executing: $stmt ", $dbhA->errst +r; $sthrows=$sth->rows; $Count=0; $z=""; while($sthrows>$Count){ @ary = $sth->fetchrow_array; $worksheet->write($rowCount1+1, 0, $t[0]); $worksheet->write($rowCount1+1, 1, $t[1]); $worksheet->write($rowCount1+1, 2, $t[2]); $worksheet->write($rowCount1+1, 3, $t[3]); $worksheet->write($rowCount1+1, 4, $t[4]); $worksheet->write($rowCount1+1, 5, $t[5]); $worksheet->write($rowCount1+1, 6, $t[6]); $worksheet->write($rowCount1+1, 7, $ary[0]); $worksheet->write($rowCount1+1, 8, $t[8]); $worksheet->write($rowCount1+1, 9, $t[9]); $worksheet->write($rowCount1+1, 10, $t[10]); $worksheet->write($rowCount1+1, 11, $t[11]); $Count++; } } elsif (!defined($t[6]) || $t[6] eq '' || length($t[6])>2 | +| length($t[6])<2) { $stmt="SELECT state, postal_code FROM asterisk.vicidia +l_postal_codes WHERE postal_code='".$t[7]."';"; $sth = $dbhA->prepare($stmt) or die "preparing: ",$dbh +A->errstr; $sth->execute or die "executing: $stmt ", $dbhA->errst +r; $sthrows=$sth->rows; $Count=0; while($sthrows>$Count){ @ary = $sth->fetchrow_array; $worksheet->write($rowCount1+1, 0, $t[0]); $worksheet->write($rowCount1+1, 1, $t[1]); $worksheet->write($rowCount1+1, 2, $t[2]); $worksheet->write($rowCount1+1, 3, $t[3]); $worksheet->write($rowCount1+1, 4, $t[4]); $worksheet->write($rowCount1+1, 5, $t[5]); $worksheet->write($rowCount1+1, 6, $ary[0]); $worksheet->write($rowCount1+1, 7, $t[7]); $worksheet->write($rowCount1+1, 8, $t[8]); $worksheet->write($rowCount1+1, 9, $t[9]); $worksheet->write($rowCount1+1, 10, $t[10]); $worksheet->write($rowCount1+1, 11, $t[11]); $Count++; } } else { $worksheet->write($rowCount1+1, 0, $t[0]); $worksheet->write($rowCount1+1, 1, $t[1]); $worksheet->write($rowCount1+1, 2, $t[2]); $worksheet->write($rowCount1+1, 3, $t[3]); $worksheet->write($rowCount1+1, 4, $t[4]); $worksheet->write($rowCount1+1, 5, $t[5]); $worksheet->write($rowCount1+1, 6, $t[6]); $worksheet->write($rowCount1+1, 7, $t[7]); $worksheet->write($rowCount1+1, 8, $t[8]); $worksheet->write($rowCount1+1, 9, $t[9]); $worksheet->write($rowCount1+1, 10, $t[10]); $worksheet->write($rowCount1+1, 11, $t[11]); $rowCount1++; } elsif (!defined($t[7]) || $t[7] eq '' || length($t[7])>5 + || length($t[7])<=3) { $z=""; $stmt="SELECT postal_code, state FROM asterisk.vicidia +l_postal_codes WHERE state='".$t[6]."' and postal_code not in ('00501','00544') limit 1;"; $sth = $dbhA->prepare($stmt) or die "preparing: ",$dbh +A->errstr; $sth->execute or die "executing: $stmt ", $dbhA->errst +r; $sthrows=$sth->rows; $Count=0; $oZ=$t[7]; while($sthrows>$Count){ @ary = $sth->fetchrow_array; $z=$ary[0]; $worksheet2->write($rowCount2+1, 1, $t[1]); $worksheet2->write($rowCount2+1, 2, $t[2]); $worksheet2->write($rowCount2+1, 3, $t[3]); $worksheet2->write($rowCount2+1, 4, $t[4]); $worksheet2->write($rowCount2+1, 5, $t[5]); $worksheet2->write($rowCount2+1, 6, $t[6]); $worksheet2->write($rowCount2+1, 7, $ary[0]); $worksheet2->write($rowCount2+1, 8, $t[8]); $worksheet2->write($rowCount2+1, 9, $t[9]); $worksheet2->write($rowCount2+1, 10, $t[10]); $worksheet2->write($rowCount2+1, 11, $t[11]); $Count++; } } elsif (!defined($t[6]) || $t[6] eq '' || length($t[6])>2 + || length($t[6])<2){ $stmt="SELECT state, postal_code FROM asterisk.vicidia +l_postal_codes WHERE postal_code='".$t[7]."';"; $sth = $dbhA->prepare($stmt) or die "preparing: ",$dbh +A->errstr; $sth->execute or die "executing: $stmt ", $dbhA->errst +r; $sthrows=$sth->rows; $Count=0; while($sthrows>$Count){ @ary = $sth->fetchrow_array; $worksheet2->write($rowCount2+1, 1, $t[1]); $worksheet2->write($rowCount2+1, 2, $t[2]); $worksheet2->write($rowCount2+1, 3, $t[3]); $worksheet2->write($rowCount2+1, 4, $t[4]); $worksheet2->write($rowCount2+1, 5, $t[5]); $worksheet2->write($rowCount2+1, 6, $ary[0]); $worksheet2->write($rowCount2+1, 7, $t[7]); $worksheet2->write($rowCount2+1, 8, $t[8]); $worksheet2->write($rowCount2+1, 9, $t[9]); $worksheet2->write($rowCount2+1, 10, $t[10]); $worksheet2->write($rowCount2+1, 11, $t[11]); $Count++; } } else { $worksheet2->write($rowCount2+1, 0, $t[0]); $worksheet2->write($rowCount2+1, 1, $t[1]); $worksheet2->write($rowCount2+1, 2, $t[2]); $worksheet2->write($rowCount2+1, 3, $t[3]); $worksheet2->write($rowCount2+1, 4, $t[4]); $worksheet2->write($rowCount2+1, 5, $t[5]); $worksheet2->write($rowCount2+1, 6, $t[6]); $worksheet2->write($rowCount2+1, 7, $t[7]); $worksheet2->write($rowCount2+1, 8, $t[8]); $worksheet2->write($rowCount2+1, 9, $t[9]); $worksheet2->write($rowCount2+1, 10, $t[10]); $worksheet2->write($rowCount2+1, 11, $t[11]); } #if (length($t[8]) < 10 && length($t[7]) < 5) #$worksheet->write($rowCount2+1, 12, 'phone and zip co +de are incorrect.', $format1); # elsif (length($t[8]) > 10 && length($t[7]) > 5) #$worksheet->write($rowCount2+1, 12, 'phone and zip co +de are incorrect.', $format1); # elsif (length($t[8]) < 10 && length($t[7]) > 5) #$worksheet->write($rowCount2+1, 12, 'phone and zip co +de are incorrect.', $format1); if (length($t[8])< 10 || length($t[8])>10){ $worksheet2->write($rowCount2+1, 12, 'phone is incorre +ct.', $format1); } if (defined($z) || $z ne ''){ $worksheet2->write($rowCount2+1, 12, $oZ.' Zip code ha +s been updated '.$z.'.', $format1); } elsif (length($t[8])< 10 || length($t[8])>10) { $worksheet2->write($rowCount2+1, 12, ' Zip code update +d, but has bad phone. ', $format1); } # elsif (length($t[8]) == 10 && length($t[7]) < 5) #$worksheet->write($rowCount2+1, 12, 'zip code is inco +rrect.', $format1); # elsif (length($t[8]) == 10 && length($t[7]) > 5) #$worksheet->write($rowCount2+1, 12, 'zip code is inco +rrect.', $format1); # elsif (length($t[8])>10 && length($t[7])==5) #$worksheet->write($rowCount2+1, 12, 'phone is incorre +ct.', $format1); # else #$worksheet->write($rowCount2+1, 12, 'phone and zip co +de are incorrect.',$format1); $rowCount2++; $rowCount++; } } $workbook->close(); print $rowCount1.'-'.$rowCount2.'-'.$rowCount; close(FH);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: bug or curly bracket hell?
by haukex (Archbishop) on Jan 05, 2023 at 18:27 UTC | |
by soonix (Chancellor) on Jan 05, 2023 at 20:03 UTC | |
by Bod (Parson) on Jan 14, 2023 at 01:04 UTC | |
by marto (Cardinal) on Jan 14, 2023 at 09:39 UTC | |
by MoodyDreams999 (Scribe) on Jan 06, 2023 at 21:46 UTC | |
by haukex (Archbishop) on Jan 06, 2023 at 22:40 UTC | |
Re: bug or curly bracket hell?
by choroba (Cardinal) on Jan 05, 2023 at 18:28 UTC | |
by LanX (Saint) on Jan 05, 2023 at 20:29 UTC | |
by Corion (Patriarch) on Jan 05, 2023 at 20:35 UTC | |
by LanX (Saint) on Jan 05, 2023 at 20:38 UTC | |
Re: bug or curly bracket hell?
by GrandFather (Saint) on Jan 07, 2023 at 00:41 UTC | |
by MoodyDreams999 (Scribe) on Jan 13, 2023 at 16:25 UTC | |
by hippo (Archbishop) on Jan 13, 2023 at 16:45 UTC | |
by MoodyDreams999 (Scribe) on Jan 13, 2023 at 19:29 UTC | |
by Anonymous Monk on Jan 13, 2023 at 20:36 UTC | |
| |
by GrandFather (Saint) on Jan 13, 2023 at 23:02 UTC | |
by Bod (Parson) on Jan 14, 2023 at 01:11 UTC | |
by MoodyDreams999 (Scribe) on Jan 24, 2023 at 23:03 UTC | |
by kcott (Archbishop) on Jan 24, 2023 at 23:46 UTC | |
| |
by Anonymous Monk on Jan 24, 2023 at 23:40 UTC |