Warning: Declaration of The_Bootstrap_Nav_Walker::start_lvl(&$output, $depth) should be compatible with Walker_Nav_Menu::start_lvl(&$output, $depth = 0, $args = NULL) in /home/ebitem/www/ebitem/wp-content/themes/the-bootstrap/inc/nav-menu-walker.php on line 15

Warning: Declaration of The_Bootstrap_Nav_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $data_object, $depth = 0, $args = NULL, $current_object_id = 0) in /home/ebitem/www/ebitem/wp-content/themes/the-bootstrap/inc/nav-menu-walker.php on line 22

Warning: Cannot modify header information - headers already sent by (output started at /home/ebitem/www/ebitem/wp-content/themes/the-bootstrap/inc/nav-menu-walker.php:0) in /home/ebitem/www/ebitem/wp-includes/feed-rss2.php on line 8
Perl – プログラムのセカイ http://program.ebitem.net プログラムの備忘録 Fri, 05 Aug 2011 11:00:55 +0000 ja hourly 1 https://wordpress.org/?v=6.3.5 [Perl]localtimeを使って現在年月日取得 http://program.ebitem.net/archives/96 http://program.ebitem.net/archives/96#respond Fri, 05 Aug 2011 11:00:55 +0000 http://ebitem.net/program-blog/?p=96 Continue reading ]]> Perlの現在年月日時刻は以下のようにして取得できます。

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);

絶対あとで忘れる自信があるのでメモしておきます。

]]>
http://program.ebitem.net/archives/96/feed 0
[Perl]ハッシュのソート方法一覧 http://program.ebitem.net/archives/89 http://program.ebitem.net/archives/89#comments Mon, 01 Aug 2011 11:00:33 +0000 http://ebitem.net/program-blog/?p=89 Continue reading ]]> Perlでのハッシュソート方法をメモメモ。

文字コードは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

]]>
http://program.ebitem.net/archives/89/feed 2
EclipseのEPICプラグインでUTF-8を使用する方法 http://program.ebitem.net/archives/61 http://program.ebitem.net/archives/61#respond Tue, 28 Jun 2011 13:00:56 +0000 http://ebitem.net/program-blog/?p=61 Continue reading ]]> EPICってUTF-8で日本語を記入すると、おもいっきり構文エラーになるんで、どうにかする方法。

eclipse.iniに

「-Dfile.encoding=UTF-8」

を追加して、クリーン起動。

ただ、強制的に全部UTF-8に書き換えられるのでUTF-8以外のプログラムは書けなくなります。

でも私は特に問題ないです。

参考URL:
http://www.ttvision.com/blog/archives/2007/10/23-2115.php
※検索すれば辿りつけるけど、いつか消えてしまう可能性もあるんで記事として書いておきました。

終わり。

]]>
http://program.ebitem.net/archives/61/feed 0
EclipseでPerl開発を行うEPICプラグイン http://program.ebitem.net/archives/43 http://program.ebitem.net/archives/43#respond Fri, 17 Jun 2011 08:49:16 +0000 http://ebitem.net/program-blog/?p=43 Continue reading ]]> EclipseでPerl開発を行うEPICプラグインの導入を自分メモ。

ちなみに前段階の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)をコピーしてます。
EPIC Webページ

そのあと、Eclipseを起動し、ヘルプ→新規ソフトウェアのインストール、でウィンドウを開く。

さきほどコピーしたURLを作業対象のとこに貼り付けて、「追加」ボタンを押下。リポジトリーの追加ウィンドウが出るので名前を「EPIC」としてOKボタンを押す。
新規ソフトウェアのインストール
EPICのURL入力

その後、しばらくするとEPICなんたらというのが出るのでチェックを入れて、ひたすら「次へ」ボタンを押していく。
EPICのインストール

再起動したら、Perl実行可能ファイルを設定するため、ウィンドウ→設定→Perl EPICを開き、Perl実行可能ファイルのところを自分でPerlインストールしたところにあるperl.exeに変更する。
EPIC設定

終わり。

]]>
http://program.ebitem.net/archives/43/feed 0
ActivePerlのインストール http://program.ebitem.net/archives/18 http://program.ebitem.net/archives/18#respond Mon, 13 Jun 2011 06:29:09 +0000 http://ebitem.net/program-blog/?p=18 Continue reading ]]> WinXPにAcitvePerlのインストール方法を自分メモ。

ActiveState社のActivePerlページにアクセス
http://www.activestate.com/activeperl

右上にある「Free Downloads」をクリック
ActivePerlのページ

次のページで、「Download ActivePerl 5.12.3 for Windows(x86)」をクリック

64bitOSを使っている場合は、下の「Donwload ActivePerl 5.12.3 for Windows(64-bit,x64)」リンク

ActivePerlダウンロードページ
ActivePerlダウンロードページ

「ActivePerl-5.12.3.1204-MSWin32-x86-294330.msi」といったようなファイルがダウンロードされるので、ダブルクリックで実行

途中の選択肢で「I accept the terms in the Licenese Agreement」を選択肢、他は全てデフォルトで最後まで実行
ActivePerlのインストール

インストールが終わったら、本当にPerlがインストールされたか確認するため、「スタート」→「ファイル名を指定して実行」→「cmdと入力してOKボタン」でコマンドプロンプトを開き、「perl -v」と入力。

以下のような画面が出たら正常にインストールできたことになる。
ActivePerlのインストール確認画面

これで終了。

]]>
http://program.ebitem.net/archives/18/feed 0