in reply to Re: Creating a hash within a fork
in thread Creating a hash within a fork
The following does the same thing. Notice the use of MCE::Loop::init for specifying MCE options. One may pass more then 2 arguments to MCE->gather with this demonstration.
#!/usr/bin/perl use warnings; use strict; use POSIX qw(strftime); use Time::Piece; use Cwd qw( abs_path ); use File::Basename; use File::Basename qw( dirname ); use LWP::Simple; use MCE::Loop; use Date::Calc qw (Delta_Days); use Data::Dumper; my $domains = dirname(abs_path($0)).'/domains.txt'; my $flag = 0; my $date = strftime "%Y-%m-%d", localtime; my %month = ( 'jan'=>'01','feb'=>'02','mar'=>'03','apr'=>'04','may'=>' +05','jun'=>'06','jul'=>'07','aug'=>'08','sep'=>'09','oct'=>'10','nov' +=>'11','dec'=>'12' ); my %domainList; MCE::Loop::init { chunk_size => 1, max_workers => 5, gather => sub { my ($domainName, $diff) = @_; $domainList{ $domainName } = $diff; } }; mce_loop_f { my $domainName = $_; chomp $domainName; print $domainName."\n"; my $expDate = `jwhois -n -h whois.crsnic.net $domainName | grep Ex +piration | awk '{print \$3}'`; print $expDate; my $diff = &dateDiff($expDate); if ($diff < 28 and $diff > 14) { $flag = 1; } elsif ($diff <= 14) { $flag = 2; } MCE->gather($domainName, $diff); } $domains; MCE::Loop::finish; print Dumper(\%domainList); ...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Creating a hash within a fork
by edimusrex (Monk) on Jun 05, 2015 at 21:02 UTC |