package fdaautopnsi;use strict;
use Cwd;
use Term::ReadLine;
use File::DosGlob 'glob';
my @flist = glob "*.*";
use Crypt::SSLeay;
use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Request::Common qw(GET);
use URI::URL;
use threads;
use Thread::Queue;
###### Global Variables ##########
my $program_directory;
my $m_username;
my $m_password;
my $temp_dir;
my $starter;
my $initializer;
my $queueReal2P;
my $queueName;
my $queueConnect;
my $queueEntryNr;
my $queuePN;
sub initialize {
$program_directory = cwd;
my @param = @_;
$m_username = $param[0];
$m_password = $param[1];
$temp_dir = $param[2];
$queueName = Thread::Queue->new();
$queueConnect = Thread::Queue->new();
$queueEntryNr = Thread::Queue->new();
$queuePN = Thread::Queue->new();
}
sub start {
$starter = threads->create("mainthread");
}
sub return_name_status {
my $return_name = "nothing new";
$return_name = $queueName->dequeue() if ( $queueName->pending() > 0 );
return $return_name;
}
sub return_connect_status {
my $return_connect = "nothing new";
$return_connect = $queueConnect->dequeue() if ( $queueConnect->pending() > 0 );
return $return_connect;
}
sub return_entrynr_status {
my $return_entrynr = "nothing new";
$return_entrynr = $queueEntryNr->dequeue() if ( $queueEntryNr->pending() > 0 );
return $return_entrynr;
}
sub return_pn_status {
my $return_pn = "nothing new";
$return_pn = $queuePN->dequeue() if ( $queuePN->pending() > 0 );
return $return_pn;
}
sub mainthread {
.....
....
$queueConnect->enqueue("Daten einlesen");
....
...
my ( $pn_RecName ) = $lines =~ /RecName=([^\x0D]+)/is;
$queueName->enqueue($pn_RecName);
........
...
}