use strict; use warnings; use utf8; # 時刻情報を全部取得して整形 my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(); print sprintf("%04d/%02d/%02d %02d:%02d:%02d", $year+1900, $mon+1, $mday, $hour, $min, $sec);
ただ年月日しか必要ない時でも上記のように書いていて、ムダな変数ができちゃうなぁと思っていたのですが、以下のようにすれば良かったのですね。
use strict; use warnings; use utf8; # 年月日の時刻情報のみ取得 my ($mday, $mon, $year) = (localtime)[3,4,5]; print sprintf("%04d/%02d/%02d", $year+1900, $mon+1, $mday);
絶対あとで忘れる自信があるのでメモしておきます。
]]>文字コードはUTF-8です。
use strict; use warnings; use utf8; use Encode qw/encode/; my %hash = ( c => 'bb', d => 'aa', a => 'dd', b => 'cc', ); # ハッシュのキーで文字列昇順ソート print encode('UTF-8', "ハッシュのキーで文字列昇順ソート\n"); foreach my $key (sort keys %hash) { print "$key, $hash{$key}\n"; } # ハッシュのキーで文字列降順ソート print encode('UTF-8', "ハッシュのキーで文字列降順ソート\n"); foreach my $key (sort {$b cmp $a} keys %hash) { print "$key, $hash{$key}\n"; } # ハッシュの値で文字列昇順ソート print encode('UTF-8', "ハッシュの値で文字列昇順ソート\n"); foreach my $key (sort { $hash{$a} cmp $hash{$b} } keys %hash) { print "$key, $hash{$key}\n"; } # ハッシュの値で文字列降順ソート print encode('UTF-8', "ハッシュの値で文字列降順ソート\n"); foreach my $key (sort { $hash{$b} cmp $hash{$a} } keys %hash) { print "$key, $hash{$key}\n"; } %hash = ( 3 => 22, 4 => 11, 1 => 44, 2 => 33, ); # ハッシュのキーで数値昇順ソート print encode('UTF-8', "ハッシュのキーで数値昇順ソート\n"); foreach my $key (sort {$a $b} keys %hash) { print "$key, $hash{$key}\n"; } # ハッシュのキーで数値降順ソート print encode('UTF-8', "ハッシュのキーで数値降順ソート\n"); foreach my $key (sort {$b $a} keys %hash) { print "$key, $hash{$key}\n"; } # ハッシュの値で数値昇順ソート print encode('UTF-8', "ハッシュの値で数値昇順ソート\n"); foreach my $key (sort { $hash{$a} $hash{$b} } keys %hash){ print "$key, $hash{$key}\n"; } # ハッシュの値で数値降順ソート print encode('UTF-8', "ハッシュの値で数値降順ソート\n"); foreach my $key (sort { $hash{$b} $hash{$a} } keys %hash){ print "$key, $hash{$key}\n"; }
たぶんこれで合ってるはず…。
※2011/08/02追記
ハッシュのキーで数値昇順、降順ソートが思いっきり間違っていたので修正しました。
ご指摘いただきありがとうございますm(_ _)m
eclipse.iniに
「-Dfile.encoding=UTF-8」
を追加して、クリーン起動。
ただ、強制的に全部UTF-8に書き換えられるのでUTF-8以外のプログラムは書けなくなります。
でも私は特に問題ないです。
参考URL:
http://www.ttvision.com/blog/archives/2007/10/23-2115.php
※検索すれば辿りつけるけど、いつか消えてしまう可能性もあるんで記事として書いておきました。
終わり。
]]>ちなみに前段階のActivePerlインストール方法はこちら↓
・ActivePerlのインストール
http://ebitem.net/program-blog/archives/18
EPICプラグイン導入方法ここから↓
EPICのWebページにアクセス
http://www.epic-ide.org/
左側の「download」リンクをクリックし、出てきたURLをコピー。
下ではolder version(http://e-p-i-c.sf.net/updates)をコピーしてます。
そのあと、Eclipseを起動し、ヘルプ→新規ソフトウェアのインストール、でウィンドウを開く。
さきほどコピーしたURLを作業対象のとこに貼り付けて、「追加」ボタンを押下。リポジトリーの追加ウィンドウが出るので名前を「EPIC」としてOKボタンを押す。
その後、しばらくするとEPICなんたらというのが出るのでチェックを入れて、ひたすら「次へ」ボタンを押していく。
再起動したら、Perl実行可能ファイルを設定するため、ウィンドウ→設定→Perl EPICを開き、Perl実行可能ファイルのところを自分でPerlインストールしたところにあるperl.exeに変更する。
終わり。
]]>ActiveState社のActivePerlページにアクセス
http://www.activestate.com/activeperl
次のページで、「Download ActivePerl 5.12.3 for Windows(x86)」をクリック
64bitOSを使っている場合は、下の「Donwload ActivePerl 5.12.3 for Windows(64-bit,x64)」リンク
「ActivePerl-5.12.3.1204-MSWin32-x86-294330.msi」といったようなファイルがダウンロードされるので、ダブルクリックで実行
途中の選択肢で「I accept the terms in the Licenese Agreement」を選択肢、他は全てデフォルトで最後まで実行
インストールが終わったら、本当にPerlがインストールされたか確認するため、「スタート」→「ファイル名を指定して実行」→「cmdと入力してOKボタン」でコマンドプロンプトを開き、「perl -v」と入力。
以下のような画面が出たら正常にインストールできたことになる。
これで終了。
]]>