#! /usr/bin/perl
##################################
#
# perl 5.6 からは、UTF-8 は普通に使える。
#
# が、このスクリプト自身が EUC なので、各ファイルは nkf -e を通した後、このスクリプトを通過すべき。
#
##################################
%direction=(
' N', 00.0,
' NNE', 22.5,
' NE', 45.0,
' ENE', 67.5,
' E', 90.0,
' ESE', 112.5,
' SE', 135.0,
' SSE', 157.5,
' S', 180.0,
' SSW', 202.5,
' SW', 225.0,
' WSW', 247.5,
' W', 270.0,
' WNW', 292.5,
' NW', 315.0,
' NNW', 337.5,
' C', -1,
);
$selectflag=0;
$winddtflag=0;
$firstflag=1;
while($line = <>){
if( $line =~ /^#/ ){
next;
}elsif( $line =~ /(.*)日,([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)$/){
@data=($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25);
if( $selectflag == 1 ){
if( $winddflag == 1 ){
print $1;
foreach $name ( @data ){
printf("%6.1f", $direction{$name});
}
}else{
print $1, @data;
}
print "\n";
}
}elsif( $line =~ /[^,]*,測定場所,[^,]*,([^ ,]*)[ ]*,項目,[^,]*,([^, ]*)[ ]*,単位,.*/ ){
$PLACE = $1;
$KIND = $2;
if( $firstflag == 1 ){
print $PLACE,"\n";
$firstflag = 0;
}
if( $KIND =~ "^風向\$" || $KIND =~ "^風速\$" ){
$selectflag = 1;
if( $KIND =~ "^風向\$" ){
$winddflag=1;
}else{
$winddflag=0;
}
}else{
$selectflag = 0;
}
}
}