{ local($m) = 'A' ; foreach( sort numerically keys %rmiss ){ $sasmiss{$_}=$m++; } } # -------- array &sasmiss( array l ) ; # 配列 l 中の欠損値を SAS 用に置き換えて返す sub sasmiss { local(@l) = @_ ; foreach( @l ) { $_='.' if '' eq $_; $_=$sasmiss{$_} if defined $sasmiss{$_} ; } @l; } # -------- array &missdot( array l ) ; # 配列 l 中の欠損値を . に置き換えて返す sub missdot { local(@l) = @_ ; foreach( @l ) { $_='.' if '' eq $_ || defined $sasmiss{$_} ; } @l; } 1;