Table of Contents
概要
- Linux/Windows共通に環境変数からコンソールの文字コードとホームディレクトリを設定する。
ソース
initConsole.pl
#!/usr/bin/perl
# Linux/Windows共通に環境変数からコンソールの文字コードとホームディレクトリを設定する
use strict;
use warnings;
use utf8;
use Encode;
( $ENV{'LANG'} || '' ) =~ /\.(.*)$/; # ja_JP.UTF-8
my $charsetConsole = $1 || 'CP932';
my $charsetFile = 'UTF-8';
binmode( STDIN, ":encoding($charsetConsole)" );
binmode( STDOUT, ":encoding($charsetConsole)" );
binmode( STDERR, ":encoding($charsetConsole)" );
my $home = $ENV{'HOME'} || $ENV{'USERPROFILE'};
$home =~ s#\\#/#g;
my $fileOut = $home . '/環境変数テスト.txt';
@ARGV = map{ decode( $charsetConsole, $_ ); } @ARGV;
print "$home\n$fileOut\n";
print join( "\n", @ARGV ) . "\n";
open( my $fhout, ">:encoding($charsetFile)", encode( $charsetConsole, $fileOut ) )
or die( "$fileOut: " . decode( $charsetConsole, $! ) . "\n" );
print $fhout "テスト\n";
print $fhout join( "\n", @ARGV ) . "\n";
close( $fhout );
# EOF