{ version => '01', contest_name => 'EA PSK31 Contest', contest_id => 'EA-PSK31', filter => { mode => \"IN ('PSK','PSK31','BPSK31')", band => \"IN('80M','40M','20M','15M','10M')", }, defaults => { contest_url => 'http://www.ure.es/contest/428-ea-psk31-contest-english-version.html', log_cols => [qw/ mycall call qso_date time_on mode freq band rst_sent stx rst_rcvd srx pfx cont dxccprefix calc1 /], placeholders => [qw/ cont /], dropbox_options => { cont => [qw/ AF AN AS EU NA OC SA /], 'ARRL-SECTION' => [qw/ DX /], CATEGORY => [ 'SINGLE-OP ALL', 'SINGLE-OP 10M', 'SINGLE-OP 15M', 'SINGLE-OP 20M', 'SINGLE-OP 40M', 'SINGLE-OP 80M', 'MULTI-MULTI ALL', ], }, update => sub { my $row = shift; my %h; my $srx = $row->{srx}; $srx = $row->{srx_string} if $srx eq '599' && $row->{srx_string}; $srx =~ s/^599 (.+)/$1/; my $stx = $row->{stx}; $stx = $row->{stx_string} if $stx eq '599' && $row->{stx_string}; $stx =~ s/^599 (.+)/$1/; $h{srx} = sprintf '%03d', $srx unless $srx =~ /\D/; $h{stx} = sprintf '%03d', $stx unless $stx =~ /\D/; $h{srx} = $srx if $srx =~ /\D/; # Spanish Province Code my $s = $row->{dxccprefix}; $h{calc1} = ''; if( $s =~ /^(K|VE|JA|VK)$/ ){ my $n = ( $row->{pfx} =~ /(\d+)/g )[-1]; $s .= $n; $h{calc1} = $s; # The Call area (e.g. K4) for K/VE/JA/VK. } return \%h; }, Qs => [ { label => 'Own Continent 10/15/20', weight => 1, group_by => 'band, mode, call', where => {cont=>$INPUT{cont},band=>[qw/10M 15M 20M/]} }, { label => 'Own Continent 40/80', weight => 3, group_by => 'band, mode, call', where => {cont=>$INPUT{cont},band=>[qw/40M 80M/]} }, { label => 'Different Continent 10/15/20', weight => 2, group_by => 'cont, band, mode, call', where => { cont=>{'!=' => $INPUT{cont}}, band=>[qw/10M 15M 20M/] } }, { label => 'Different Continent 40/80', weight => 6, group_by => 'cont, band, mode, call', where => { cont=>{'!=' => $INPUT{cont}}, band=>[qw/40M 80M/] } }, ], mults => [ { label => 'DXCC', group_by => 'band, dxccprefix' }, { label => 'W/VE/VK/JA Call Areas', group_by => 'band, calc1', where => {calc1 => {'!='=>''}} }, { label => 'EA Areas', group_by => 'band, dxccprefix, srx', where => { dxccprefix=>[qw/EA EA6 EA8 EA9/] } }, ], cabrillo => { cabrillo_url => 'ihttp://www.ure.es/contest/428-ea-psk31-contest-english-version.html', version => '2.0', headers => [qw/ ARRL-SECTION CATEGORY CLUB NAME ADDRESS OPERATORS EMAIL SOAPBOX /], qso_cols => [qw/cab_freq cab_mode cab_date cab_time mycall rst_sent stx call rst_rcvd srx /], qso_fmt => '%-5s %-2s %-10s %-04s %-10s %-3s %-3s %-13s %-3s %-3s', # --------info sent------- -------info rcvd-------- # QSO: freq mo date time call rst exch call rst exch # QSO: ***** ** yyyy-mm-dd nnnn ********** nnn *** ************* nnn *** # QSO: 3584 PO 2011-02-18 2103 SJ3AZ 599 001 RM9DAZ 599 SV # QSO: 3582 PO 2011-02-18 2105 SJ3AZ 599 002 UT1I 599 002 # 000000000111111111122222222223333333333444444444455555555556666666666777777777788 # 123456789012345678901234567890123456789012345678901234567890123456789012345678901 }, }, years => { 2011 => { sample => '', filter => { qso_date => { -between => [20110312, 20110313] }, }, }, }, }