薄暮の時期 

経済の力では自然環境の改善はできない。

-- Perl Scripts --

  1. 薄暮競馬
  2. スクリプト
---------------------------------

トップページへ




1.  薄暮競馬  

この時期、うっかりすると終わったレースを検討していたりする。
無駄な抵抗かもしれないが、とりあえず以下のようなファイルを出力してみた。

 新潟 1R(  7/23 )      2歳 :未勝:1400m芝A   12頭 10時00分発走
 小倉 1R(  7/23 )      2歳 :未勝:1200m芝A   15頭 10時20分発走
 新潟 2R(  7/23 )      3歳 :未勝:1800mダ    15頭 10時30分発走
 函館 1R(  7/23 )      2歳 :未勝:1200m芝B    9頭 10時40分発走
 小倉 2R(  7/23 )      3歳 :未勝:1700mダ    15頭 10時50分発走
 新潟 3R(  7/23 )      3歳 :未勝:1000m芝直A 18頭 11時00分発走
 函館 2R(  7/23 )      3歳 :未勝:1000mダ    12頭 11時10分発走
 新潟 4R(  7/23 )      3歳 :未勝:2000m芝A   18頭 11時30分発走
 函館 3R(  7/23 )      3歳 :未勝:1700mダ    13頭 11時40分発走
 新潟 5R(  7/23 )      2歳 :新馬:1600m芝外A 18頭 12時00分発走
 小倉 4R(  7/23 )      2歳 :新馬:1200m芝A    8頭 12時10分発走
 函館 4R(  7/23 )      2歳 :新馬:1800m芝B    9頭 12時30分発走
 小倉 5R(  7/23 )      3歳 :未勝:2000m芝A   18頭 12時40分発走
 新潟 6R(  7/23 )     3歳上: 500:1200mダ    15頭 12時50分発走
 函館 5R(  7/23 )      3歳 :未勝:1200m芝B   16頭 13時05分発走
 小倉 6R(  7/23 )      3歳 :未勝:1200m芝A   18頭 13時15分発走
 新潟 7R(  7/23 )     3歳上: 500:1800mダ    15頭 13時25分発走
 函館 6R(  7/23 )     3歳上: 500:1000mダ    12頭 13時40分発走
 小倉 7R(  7/23 )     3歳上: 500:1000mダ    14頭 13時50分発走
 新潟 8R(  7/23 )     3歳上: 500:1200mダ    15頭 14時00分発走
 函館 7R(  7/23 )     3歳上: 500:1700mダ    10頭 14時15分発走
 小倉 8R(  7/23 )     3歳上: 500:1200m芝A   10頭 14時25分発走
 新潟 9R(  7/23 ) 寺泊特 3歳上: 5特:1400m芝A   18頭 14時35分発走
 函館 8R(  7/23 )     3歳上: 500:1200m芝B   13頭 14時50分発走
 小倉 9R(  7/23 ) 天草特 3歳上:10特:1700mダ    15頭 15時00分発走
 新潟10R(  7/23 ) 佐渡特 3歳上:10特:2200m芝A   12頭 15時10分発走
 函館 9R(  7/23 ) 函館記 3歳上:G3:2000m芝B   16頭 15時25分発走
 小倉10R(  7/23 ) 北九州 3歳上:OP特:1200m芝A    9頭 15時35分発走
 新潟11R(  7/23 ) 関越S 3歳上:OP特:1800mダ    15頭 15時45分発走
 函館10R(  7/23 ) かもめ 3歳上:10特:1800m芝B    9頭 16時00分発走
 小倉11R(  7/23 ) 英彦山 3歳上: 5特:2000m芝A   14頭 16時10分発走
 新潟12R(  7/23 )     3歳上: 500:1200m芝A   18頭 16時20分発走
 函館11R(  7/23 ) 美利河 3歳上: 5特:1200m芝B   15頭 16時35分発走
 小倉12R(  7/23 )     3歳上: 500:1700mダ    15頭 16時50分発走
 函館12R(  7/23 ) 渡島特 3歳上:10特:1700mダ    13頭 17時10分発走






2.  スクリプト  

仮に、todays.pl としたが、、
その日にレースがあれば、発走時刻順にタイトル行を並べる。

#!/usr/bin/perl
#===========================================================================#
# 前提:Perl 5.8 以上がインストール済みで、非蓄積系&速報系の JV データが
# テキスト型で保存されていること。for Windows
# Usage:  perl todays.pl        # .pl にperl を関連付けてある場合はWクリックで
#############################################################################
# ただ、その日のレースを発走順に表示するだけ。
# $Id: $
#===========================================================================#
use strict ;

my @ba_of = ( '−−', '札幌', '函館', '福島', '新潟', '東京', '中山', 
                '中京', '京都', '阪神', '小倉' ) ;
########################################################################
my $outF = 'todays.txt' ;       # 出力ファイル名            ★
my $pass = 'h:/TDAT' ;          # レースファイルのある場所  ★
########################################################################
my ( $dd, $mm, $yy ) = ( localtime )[ 3, 4, 5 ] ;   # 今日の日付
$yy += 1900 ;
$mm += 1 ;
my $yymmdd = sprintf "%04d%02d%02d", $yy , $mm , $dd ;
$pass .= "/$yy" ;
########################################################################
my @dat ;
my $datRA = "$pass/RADW" . $yymmdd . '.DAT' ;       # 出馬表レースデータ
open DAT, $datRA or die "?? No File ??:$!\n" ;
while ( <DAT> ) {
    chomp ;
    push @dat, [ unpack '@19 A2 @25 A2 @592 a12 @614 A1 @616 A2 @634 A3 @697 A4 @705 A2
                         @709 A2 @873 A4 @881 A2', $_ ] ;
}
close DAT ;
open OUT, ">$outF" ;
my @sorted = sort { $a->[9] <=> $b->[9] } @dat ;
for ( @sorted ) {
    my ( $bbcd, $rnum, $ti, $gr, $sh, $jy, $ky, $tr, $cors, $hsGF, $to ) = @{ $_ } ;
    my ( $hG, $hF ) = unpack 'A2A2', $hsGF ;

    next if $sh > 14 ;          # 障害レースは外す。外さないなら、この行削除。
    my @r_shub = ( '', ' 2歳 ', ' 3歳 ', '3歳上', '4歳上' ) ; 
    my $shub = $r_shub[substr( $sh, -1 )];                  # 馬齢条件
    my $rmd = sprintf "%2dR( %2d/%2d )", $rnum, $mm, $dd ; # レースNo.月日
    my $t_dz = $tr < 23 ? '芝' : 'ダ' ;
    {
        my $soto = '' ;
        $soto = '外' if $tr =~ /12|13|16|18|19|22/ ;
        $soto = '直' if $tr == 10 ;
        $t_dz .= $soto ;
        $t_dz .= $cors if $tr < 23 ;
    }
    my $clah = &hjcl( $gr, $jy );                       # 表示用クラス
##### ======= レース・タイトル行プリント ================ #####
    my $title =
    sprintf " %s%s %-6.6s %s:%s:%4sm%-6s%2d頭 %2d時%02d分発走\n",
    $ba_of[$bbcd], $rmd, $ti, $shub, $clah, $ky, $t_dz, $to, $hG, $hF ;
    print OUT $title ;
}
close OUT ;
sub hjcl {                              # クラス表示用
    my ( $w, $w1 ) = @_ ;           my $cl ;
    if( $w eq 'A' ) { $cl= 'G1' ; }
    elsif( $w eq 'B' ) { $cl = 'G2' ; }
    elsif( $w eq 'C' ) { $cl = 'G3' ; }
    elsif( $w eq 'E' ) { $cl = $w1 == 999 ? 'OP特' : sprintf( "%2d特", $w1 ) ; }
    else {
        if( $w1 == 999 ) { $cl = 'OP' ; }
        elsif( $w1 == 701 ) { $cl = '新馬' ; }
        elsif( $w1 == 702 ) { $cl = '未出' ; }
        elsif( $w1 == 703 ) { $cl = '未勝' ; }
        else { $cl = sprintf "%4d", $w1 * 100 ; }
    }
    return $cl ;
}
__END__





戻る トップページへ