I quickly reformatted this with Perl::Tidy straight out of the box (no options). Check it out. It was fun to use. ;-)
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
use Data::Dumper;
use Win32::Autoglob;
use Cwd;
my $keepgoing = "keepgoing";
my @globline;
my @argdata;
my $mastercount = 0;
my $chunklock = "orderlock.cfg";
my $successcheck = "successcheck.cfg";
my $chunksuccesscount = "successlog1.cfg";
my $orderline = "orderline.cfg";
my $trackingversion = 0; # 0 is ORDER 1 = Trackin
+g
# DoOrd.pl *
#### SHIPPINGVERSION #system("pause");
if ( $trackingversion == 0 ) {
foreach my $thing (@ARGV) {
if ( ( $thing =~ /A-/ ) && ( $thing =~ /.txt/ ) ) {
push( @argdata, $thing );
}
}
# REPLACE FILENAME (ADD A UNIQUE NUMBER) + MOVE TO LIMBO
foreach (@argdata) {
@datain = ();
$oldfilename = $_;
open( DGRAB, $oldfilename )
|| die("Could not open $oldfilename (DATA TO GRAB) \n");
while (<DGRAB>) { push( @datain, $_ ) }
close DGRAB;
my $movefilename = @datain[2];
$movefilename =~ s/ /-/g;
$movefilename =~ s/[^\w\d()-]+//g;
my $range = 8999;
my $minimum = 1000;
my $random_number = int( rand($range) ) + $minimum;
$movefilename = "A-" . $movefilename . "--" . $random_number .
+ ".txt";
push( @newargdata, $movefilename );
system("move $oldfilename limbo/$movefilename");
} # FOREACH
# ASSIGN NEW FILENAME FROM ORDERNAME
@argdata = @newargdata;
# DUPLICATE FOR MULTIPLE QUANTITIES
foreach (@argdata) {
@datain = ();
my $originalfilenamequantity = "";
$filenamequantity = "limbo/" . $_;
open( DGRAB, $filenamequantity )
|| die("Could not open $filenamequantity (DATA TO GRAB) \n")
+;
while (<DGRAB>) { push( @datain, $_ ) }
close DGRAB;
print "$filenamequantity LOADED \n";
foreach (@datain) {
if ( $_ =~ /QUANTITY:::/ ) {
print "Q \n";
@quantitysplit1 = split( /QUANTITY:::/, $_ );
@quantitysplit2 = split( /:::/, @quantitysplit
+1[1] );
$quantityvalue = @quantitysplit2[0];
print "@quantitysplit1[1] Quantityvalue: $quantityvalu
+e \n\n";
}
}
# DUPLICATE ORDER BASED ON QUANTITY AMOUNTS
if ( $quantityvalue > 1 ) {
my $originalfilenamequantity =
$filenamequantity; # CREATE DUPLICATES BASED ON QUANT
+ITY
for ( my $count = 1 ; $count <= $quantityvalue ; $count++
+) {
@copydatain = ();
open( DGRAB, $filenamequantity )
|| die("Could not open $filenamequantity (DATA TO GR
+AB) \n");
while (<DGRAB>) { push( @copydatain, $_ ) }
close DGRAB;
my $copydatainstring = join( '', @copydatain );
my $quantitytoreplacestring =
"QUANTITY:::" . $quantityvalue . ":::";
$copydatainstring =~
s/$quantitytoreplacestring/QUANTITY:::1:::/;
my $duplicatefilenamequantity = $filenamequantity . $c
+ount;
open( DGRAB, ">$duplicatefilenamequantity" );
print DGRAB "$copydatainstring";
close(DGRAB);
} # IF $quantityvalue > 1
########## PROBLEM IS HERE
########## PROBLEM IS HERE
########## PROBLEM IS HERE
# MOVE ORIGINAL TO ../Done/M-archiv
# $originalfilenamequantity =~ s/limbo\///; # tried short fuilenames l
+ong filenames... yada yada
$currentdir = getcwd;
$originalfilenamequantity =
$currentdir . "/" . $originalfilenamequantity;
print
"Currentdir : $currentdir \n FILE: :$originalfilenamequantity: \n";
print "move $originalfilenamequantity 1.txt \n";
system("move $originalfilenamequantity ..");
} # FOREACH (@datain)
} # foreach
die;
########## PROBLEM IS HERE
########## PROBLEM IS HERE
########## PROBLEM IS HERE
"...the adversities born of well-placed thoughts should be considered mercies rather than misfortunes." — Don Quixote
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|