Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > How to resolve funky sync issues with fork here.

Reply
Thread Tools

How to resolve funky sync issues with fork here.

 
 
grocery_stocker
Guest
Posts: n/a
 
      04-04-2007
Here is a copy a persons code I saw on a blog. The only difference
here is that I enable warnings use my().

#!/usr/bin/perl -w

my @array = qw(ugh geeze blah test smith bob homes point);

my $num = "10";

for(1..$num) {
my $pid = fork();
if ($pid) {
# parent
push(@childs, $pid);
} elsif ($pid == 0) {
# child
print "@array\n\n";
sleep 5;
exit(0);
} else {
die "couldn't fork: $!\n";
}
print "BEFORE FOR BRACKET\n";
}

print "AFTER FOR BRACKET\n";

foreach (@childs) {
waitpid($_, 0);
}

And here is what I get when I run it a few times...

[cdalten@localhost perl]$ ./par.pl
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
AFTER FOR BRACKET
[cdalten@localhost perl]$ ./par.pl
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

BEFORE FOR BRACKET
AFTER FOR BRACKET
[cdalten@localhost perl]$

The lines:
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point

Sometmes don't appear in sync. How would I get them in sync? Would I
have to insert another wait() into the child? Just need some ideas
here.

Chad

 
Reply With Quote
 
 
 
 
grocery_stocker
Guest
Posts: n/a
 
      04-04-2007
On Apr 3, 8:08 pm, Tad McClellan <(E-Mail Removed)> wrote:
> ["Followup-To:" header set to comp.lang.perl.misc.]
>
> grocery_stocker <(E-Mail Removed)> wrote:
> > Sometmes don't appear in sync. How would I get them in sync?

>
> $| = 1;
>
> > Just need some ideas
> > here.

>
> Suffering from Buffering?
>
> http://perl.plover.com/FAQs/Buffering.html
>


After re-reading my initial post, it also appears I'm suffering from
some poor grammar.

 
Reply With Quote
 
 
 
 
Tad McClellan
Guest
Posts: n/a
 
      04-04-2007
["Followup-To:" header set to comp.lang.perl.misc.]

grocery_stocker <(E-Mail Removed)> wrote:


> Sometmes don't appear in sync. How would I get them in sync?



$| = 1;


> Just need some ideas
> here.



Suffering from Buffering?

http://perl.plover.com/FAQs/Buffering.html


--
Tad McClellan SGML consulting
http://www.velocityreviews.com/forums/(E-Mail Removed) Perl programming
Fort Worth, Texas
 
Reply With Quote
 
grocery_stocker
Guest
Posts: n/a
 
      04-04-2007
On Apr 3, 8:08 pm, Tad McClellan <(E-Mail Removed)> wrote:
> ["Followup-To:" header set to comp.lang.perl.misc.]
>
> grocery_stocker <(E-Mail Removed)> wrote:
> > Sometmes don't appear in sync. How would I get them in sync?

>
> $| = 1;
>
> > Just need some ideas
> > here.

>
> Suffering from Buffering?
>
> http://perl.plover.com/FAQs/Buffering.html
>


I tried several variations on $|=1, however, it's still not in sync.

#!/usr/bin/perl -w

my @array = qw(ugh geeze blah test smith bob homes point);

my $num = "10";
for(1..$num) {
my $pid = fork();
if ($pid) {
# parent
push(@childs, $pid);
my $oldfh = select(STDOUT); $| = 1; select ($oldfh);

} elsif ($pid == 0) {
# child
#my $oldfh = select(STDOUT); $| = 1;

print "@array\n";
#$oldfh = select(STDOUT); $| = 1; select($oldfh);

sleep 5;
exit(0);
} else {
die "couldn't fork: $!\n";
}

#my $olderfh = select(STDOUT); $| = 1;
print "BEFORE FOR BRACKET\n";
#$olderfh = select(STDOUT); $| = 1; select($olderfh);

}

#$oldestfh = select(STDOUT); $| = 1; select($oldestfh);

print "AFTER FOR BRACKET\n";
#$oldestfh = select(STDOUT); $| = 1; select($oldestfh);


foreach (@childs) {
waitpid($_, 0);
}

However, I still get the following:

[cdalten@localhost perl]$ ./par.pl
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
BEFORE FOR BRACKET
AFTER FOR BRACKET
ugh geeze blah test smith bob homes point
[cdalten@localhost perl]$ ./par.pl


 
Reply With Quote
 
anno4000@radom.zrz.tu-berlin.de
Guest
Posts: n/a
 
      04-04-2007
grocery_stocker <(E-Mail Removed)> wrote in comp.lang.perl.misc:
> On Apr 3, 8:08 pm, Tad McClellan <(E-Mail Removed)> wrote:
> > ["Followup-To:" header set to comp.lang.perl.misc.]
> >
> > grocery_stocker <(E-Mail Removed)> wrote:
> > > Sometmes don't appear in sync. How would I get them in sync?

> >
> > $| = 1;
> >
> > > Just need some ideas
> > > here.

> >
> > Suffering from Buffering?
> >
> > http://perl.plover.com/FAQs/Buffering.html
> >

>
> I tried several variations on $|=1, however, it's still not in sync.


I don't see how you could expect them to be in sync. The "BEFORE FOR
BRACKET" lines come from the parent, the others from the kids.
Different processes run independent from one another, so each time
around the loop it's up to the OS whether the kid or the parent gets
to execute first.

If you move the "sleep 5" in the kid code to before the "print" line,
you'll see *all* "BEFORE FOR BRACKET" lines before all of the kids'
output. No surprise there.

Anno

[code left in for place reference, also note comment]

> #!/usr/bin/perl -w
>
> my @array = qw(ugh geeze blah test smith bob homes point);
>
> my $num = "10";
> for(1..$num) {
> my $pid = fork();
> if ($pid) {
> # parent
> push(@childs, $pid);
> my $oldfh = select(STDOUT); $| = 1; select ($oldfh);
>
> } elsif ($pid == 0) {


You should test for defined-ness here, not for being zero.

} elsif ( defined $pid ) {

> # child
> #my $oldfh = select(STDOUT); $| = 1;
>
> print "@array\n";
> #$oldfh = select(STDOUT); $| = 1; select($oldfh);
>
> sleep 5;
> exit(0);
> } else {
> die "couldn't fork: $!\n";
> }
>
> #my $olderfh = select(STDOUT); $| = 1;
> print "BEFORE FOR BRACKET\n";
> #$olderfh = select(STDOUT); $| = 1; select($olderfh);
>
> }
>
> #$oldestfh = select(STDOUT); $| = 1; select($oldestfh);
>
> print "AFTER FOR BRACKET\n";
> #$oldestfh = select(STDOUT); $| = 1; select($oldestfh);
>
>
> foreach (@childs) {
> waitpid($_, 0);
> }
>
> However, I still get the following:
>
> [cdalten@localhost perl]$ ./par.pl
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
> BEFORE FOR BRACKET
> AFTER FOR BRACKET
> ugh geeze blah test smith bob homes point
> [cdalten@localhost perl]$ ./par.pl
>
>



 
Reply With Quote
 
Lew Pitcher
Guest
Posts: n/a
 
      04-04-2007
On Apr 3, 9:27 pm, "grocery_stocker" <(E-Mail Removed)> wrote:
> Here is a copy a persons code I saw on a blog. The only difference
> here is that I enable warnings use my().
>
> #!/usr/bin/perl -w
>
> my @array = qw(ugh geeze blah test smith bob homes point);
>
> my $num = "10";
>
> for(1..$num) {
> my $pid = fork();
> if ($pid) {
> # parent
> push(@childs, $pid);
> } elsif ($pid == 0) {
> # child
> print "@array\n\n";
> sleep 5;
> exit(0);
> } else {
> die "couldn't fork: $!\n";
> }
> print "BEFORE FOR BRACKET\n";
>
> }
>
> print "AFTER FOR BRACKET\n";
>
> foreach (@childs) {
> waitpid($_, 0);
>
> }
>
> And here is what I get when I run it a few times...

[snip]
> [cdalten@localhost perl]$ ./par.pl
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> ugh geeze blah test smith bob homes point


I presume that the above apparent out-of-order results is what you are
concerned about?

> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> BEFORE FOR BRACKET
> AFTER FOR BRACKET
> [cdalten@localhost perl]$
>
> The lines:
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> Sometmes don't appear in sync.


Scheduling of ready processes is rarely so simple as to natively
produce an "in sync" result unless you've coded a tight coupling
between the processes. I'd say that there is no real problem here; you
just caught a couple of processes executing in an order that, while
legal and proper, you didn't expect.

> How would I get them in sync?
> Would I have to insert another wait() into the child? Just need some ideas
> here.


Move your waitpid() call so that it executes immediately prior to
your
print "BEFORE FOR BRACKET\n";
statement. This way, the parent will wait for the child to complete
(and thus write the array) before it proceeds to generate the BEFORE
FOR BRACKET line. In this way, you maintain a tight coupling between
parent process and child process.

 
Reply With Quote
 
grocery_stocker
Guest
Posts: n/a
 
      04-04-2007
On Apr 4, 5:22 am, "Lew Pitcher" <(E-Mail Removed)> wrote:
> On Apr 3, 9:27 pm, "grocery_stocker" <(E-Mail Removed)> wrote:
>
>
>
> > Here is a copy a persons code I saw on a blog. The only difference
> > here is that I enable warnings use my().

>
> > #!/usr/bin/perl -w

>
> > my @array = qw(ugh geeze blah test smith bob homes point);

>
> > my $num = "10";

>
> > for(1..$num) {
> > my $pid = fork();
> > if ($pid) {
> > # parent
> > push(@childs, $pid);
> > } elsif ($pid == 0) {
> > # child
> > print "@array\n\n";
> > sleep 5;
> > exit(0);
> > } else {
> > die "couldn't fork: $!\n";
> > }
> > print "BEFORE FOR BRACKET\n";

>
> > }

>
> > print "AFTER FOR BRACKET\n";

>
> > foreach (@childs) {
> > waitpid($_, 0);

>
> > }

>
> > And here is what I get when I run it a few times...

> [snip]
> > [cdalten@localhost perl]$ ./par.pl
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > ugh geeze blah test smith bob homes point

>
> I presume that the above apparent out-of-order results is what you are
> concerned about?
>


Yes, I'm concerned about the out-of-order-results.

>
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > BEFORE FOR BRACKET
> > AFTER FOR BRACKET
> > [cdalten@localhost perl]$

>
> > The lines:
> > BEFORE FOR BRACKET
> > ugh geeze blah test smith bob homes point

>
> > Sometmes don't appear in sync.

>
> Scheduling of ready processes is rarely so simple as to natively
> produce an "in sync" result unless you've coded a tight coupling
> between the processes. I'd say that there is no real problem here; you
> just caught a couple of processes executing in an order that, while
> legal and proper, you didn't expect.
>
> > How would I get them in sync?
> > Would I have to insert another wait() into the child? Just need some ideas
> > here.

>
> Move your waitpid() call so that it executes immediately prior to
> your
> print "BEFORE FOR BRACKET\n";
> statement. This way, the parent will wait for the child to complete
> (and thus write the array) before it proceeds to generate the BEFORE
> FOR BRACKET line. In this way, you maintain a tight coupling between
> parent process and child process.


I moved the waipid() right before:
print "BEFORE FOR BRACKET\n";

And when I ran the program a a few hundred times. I got the tight
coupling. Now, for whatever reasons, I thought the sleep() in the
child process would somehow produce the tight coupling.

One last question. How can I tell if this program is running
sequentially or in parallel? I tried tracing the code via the
debugger, but all I got where like 10 screens when I ran the code.

Thanks,
Chad

 
Reply With Quote
 
xhoster@gmail.com
Guest
Posts: n/a
 
      04-04-2007
"grocery_stocker" <(E-Mail Removed)> wrote:
>
> The lines:
> BEFORE FOR BRACKET
> ugh geeze blah test smith bob homes point
>
> Sometmes don't appear in sync. How would I get them in sync?


If you want to run things in sync, then don't fork. You seem to have a
X-Y problem here.

> Would I
> have to insert another wait() into the child? Just need some ideas
> here.


The child has nothing to "wait" for.

Xho

--
-------------------- http://NewsReader.Com/ --------------------
Usenet Newsgroup Service $9.95/Month 30GB
 
Reply With Quote
 
Peter J. Holzer
Guest
Posts: n/a
 
      04-05-2007
["Followup-To:" header set to comp.lang.perl.misc.]
On 2007-04-04 12:22, Lew Pitcher <(E-Mail Removed)> wrote:
> On Apr 3, 9:27 pm, "grocery_stocker" <(E-Mail Removed)> wrote:
>> Here is a copy a persons code I saw on a blog. The only difference
>> here is that I enable warnings use my().
>>
>> #!/usr/bin/perl -w
>>
>> my @array = qw(ugh geeze blah test smith bob homes point);
>>
>> my $num = "10";
>>
>> for(1..$num) {
>> my $pid = fork();
>> if ($pid) {
>> # parent
>> push(@childs, $pid);
>> } elsif ($pid == 0) {
>> # child
>> print "@array\n\n";
>> sleep 5;
>> exit(0);
>> } else {
>> die "couldn't fork: $!\n";
>> }
>> print "BEFORE FOR BRACKET\n";
>>
>> }
>>
>> print "AFTER FOR BRACKET\n";
>>
>> foreach (@childs) {
>> waitpid($_, 0);
>>
>> }
>>
>> And here is what I get when I run it a few times...

> [snip]
>> [cdalten@localhost perl]$ ./par.pl

[...]
>> BEFORE FOR BRACKET
>> BEFORE FOR BRACKET
>> ugh geeze blah test smith bob homes point
>>
>> ugh geeze blah test smith bob homes point

>
> I presume that the above apparent out-of-order results is what you are
> concerned about?

[...]
>> How would I get them in sync?
>> Would I have to insert another wait() into the child? Just need some ideas
>> here.

>
> Move your waitpid() call so that it executes immediately prior to
> your
> print "BEFORE FOR BRACKET\n";
> statement. This way, the parent will wait for the child to complete
> (and thus write the array) before it proceeds to generate the BEFORE
> FOR BRACKET line.


If you do that, what's the point of forking in the first place?

hp


--
_ | Peter J. Holzer | Blaming Perl for the inability of programmers
|_|_) | Sysadmin WSR | to write clearly is like blaming English for
| | | (E-Mail Removed) | the circumlocutions of bureaucrats.
__/ | http://www.hjp.at/ | -- Charlton Wilbur in clpm
 
Reply With Quote
 
grocery_stocker
Guest
Posts: n/a
 
      04-05-2007
On Apr 5, 6:05 am, "Peter J. Holzer" <(E-Mail Removed)> wrote:
> ["Followup-To:" header set to comp.lang.perl.misc.]
> On 2007-04-04 12:22, Lew Pitcher <(E-Mail Removed)> wrote:
>
>
>
> > On Apr 3, 9:27 pm, "grocery_stocker" <(E-Mail Removed)> wrote:
> >> Here is a copy a persons code I saw on a blog. The only difference
> >> here is that I enable warnings use my().

>
> >> #!/usr/bin/perl -w

>
> >> my @array = qw(ugh geeze blah test smith bob homes point);

>
> >> my $num = "10";

>
> >> for(1..$num) {
> >> my $pid = fork();
> >> if ($pid) {
> >> # parent
> >> push(@childs, $pid);
> >> } elsif ($pid == 0) {
> >> # child
> >> print "@array\n\n";
> >> sleep 5;
> >> exit(0);
> >> } else {
> >> die "couldn't fork: $!\n";
> >> }
> >> print "BEFORE FOR BRACKET\n";

>
> >> }

>
> >> print "AFTER FOR BRACKET\n";

>
> >> foreach (@childs) {
> >> waitpid($_, 0);

>
> >> }

>
> >> And here is what I get when I run it a few times...

> > [snip]
> >> [cdalten@localhost perl]$ ./par.pl

> [...]
> >> BEFORE FOR BRACKET
> >> BEFORE FOR BRACKET
> >> ugh geeze blah test smith bob homes point

>
> >> ugh geeze blah test smith bob homes point

>
> > I presume that the above apparent out-of-order results is what you are
> > concerned about?

> [...]
> >> How would I get them in sync?
> >> Would I have to insert another wait() into the child? Just need some ideas
> >> here.

>
> > Move your waitpid() call so that it executes immediately prior to
> > your
> > print "BEFORE FOR BRACKET\n";
> > statement. This way, the parent will wait for the child to complete
> > (and thus write the array) before it proceeds to generate the BEFORE
> > FOR BRACKET line.

>
> If you do that, what's the point of forking in the first place?
>


Maybe I'm really not understanding what you are saying. The script is
a stripped down version of a wrapper program. Anyhow, I think I got it
running parallel. Here is the output.

#!/usr/bin/perl -w

use File::stat;
use Time::localtime;

my $file="/home/cdalten/perl/out";


my @array = qw(ugh geeze blah test smith bob homes point);

my $num = "50";
for(1..$num) {
my $pid = fork();
if ($pid) {
# parent
push(@childs, $pid);
my $oldfh = select(STDOUT); $| = 1; select ($oldfh);

} elsif ($pid == 0) {
# child
#my $oldfh = select(STDOUT); $| = 1;

print "@array\n";
#$oldfh = select(STDOUT); $| = 1; select($oldfh);

#sleep 5;
exit(0);
} else {
die "couldn't fork: $!\n";
}

#my $olderfh = select(STDOUT); $| = 1;
foreach (@childs) {
waitpid($_, 0);
}

$date_string = ctime(stat($file)->mtime);
print "file $file updated at $date_string\n";

print "BEFORE FOR BRACKET\n";
#$olderfh = select(STDOUT); $| = 1; select($olderfh);

}

#$oldestfh = select(STDOUT); $| = 1; select($oldestfh);

print "AFTER FOR BRACKET\n";

#$date_string = ctime(stat($file)->mtime);
#print "file $file updated at $date_string\n";


#print " $atime, $mtime \n";

#$oldestfh = select(STDOUT); $| = 1; select($oldestfh);

#foreach (@childs) {
# waitpid($_, 0);
#}

Yes, I know that when I redirect a fork to a output file, I need to
probably flush the buffer. However, I was just testing to see if I
would get the same timestamp on the print statements for all the
forks. If the timestamps where the same, then the program in running
in parallel.

[cdalten@localhost perl]$ ./par.pl > out
[cdalten@localhost perl]$ more out
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET
ugh geeze blah test smith bob homes point
file /home/cdalten/perl/out updated at Thu Apr 5 06:28:54 2007
BEFORE FOR BRACKET

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
os.fork and pty.fork Eric Snow Python 0 01-08-2009 06:32 AM
src-resolve: Cannot resolve the name ... ivanet@gmail.com XML 1 03-23-2007 12:10 PM
Aironet Bridge and Buffers, could they resolve MPEG4 video issues? rjmnyc@optonline.net Cisco 1 05-25-2006 09:13 PM
sync.rb difference between Sync::UN, Sync::EX and Sync::SH Trans Ruby 2 12-12-2005 02:43 PM



Advertisments