perlと日本語
use encoding "cp932";
$/ = "\r\n";
requireの使い方
モジュール:
#! /usr/bin/perl
package samplepackage;
sub function1 {
print "hogehoge\n";
}
1;
packageでモジュール名を宣言
メインルーチン:
require 'sample.cgi';
samplepackage::function1();
use:
perl5以上
BEGIN, CHECK, INIT ルーチンが使える。
起動時に全て読み込んでコンパイルする
require :
require文実行時にモジュール読み込み
BEGINなど使えない。
連想配列
連想配列の連想配列などが可能。
%HOGE |
連想配列変数 %HOGE 全体 |
$HOGE{'page'} |
連想配列変数 %HOGE の 'page'をキーとする要素 |
%HOGE = ('key'=>'value'); |
$HOGE{'key'} = 'value';と同列 |
%HOGE = (); |
%HOGE を空にします。 |
undef %HOGE; |
%HOGE を未定義値にします。 |
$a = scalar keys %HOGE; |
%HOGE の要素数を求めます。 |
空のハッシュを作成しておき、後から要素を追加
# 空のハッシュを作成
%numbers = ();
# 要素を追加
$numbers{119} = "shoubou";
$numbers{911} = "rescue";
print $numbers{119}, "\n";
print $numbers{911}, "\n";
[実行結果]
shoubou
rescue
keysやvaluesを用いると、ハッシュで使用されているキー、値の一覧を配列として取得
# 列挙
while ( ( $key, $value ) = each( %hash ) ) {
print "$key : $value\n";
}
print "\n";
# キーの配列を取得
@keys = keys( %hash );
print "Keys: ";
foreach ( @keys ) {
print "$_, ";
}
print "\n";
# 値の配列を取得
@values = values( %hash );
print "Values: ";
foreach ( @values ) {
print "$_, ";
}
existsはハッシュに指定したキーが存在するかを確かめます。
deleteはキーと値の対をハッシュから削除します。
# 列挙
while ( ( $key, $value ) = each( %hash ) ) {
print "$key : $value\n";
}
print "\n";
# キーが存在するかを確かめる
if ( exists( $hash{"tempura"} ) ) {
print "\"tempura\" exists in hash.\n";
}
# キーと値の対を削除
delete $hash{"tempura"};
print "\"tempura\" was removed.\n";
# 列挙
while ( ( $key, $value ) = each( %hash ) ) {
print "$key : $value\n";
}
# キーが存在するかを確かめる
if ( !exists( $hash{"tempura"} ) ) {
print "\"tempura\" doesn't exists in hash.\n";
}
ハッシュを参照する
# each関数による列挙
while ( ( $key, $value ) = each( %hash ) ) {
print "$key : $value\n";
}
print "\n";
# キー配列による列挙
foreach ( keys( %hash ) ) {
print "$_ : $hash{$_}\n";
}
関数名 |
解説 |
delete |
ハッシュから指定したキーとその値を削除する。delete %HOGE{'key'}; |
each |
ハッシュからキーとその値を取り出す。($key,$value) = each %HOGE; |
exists |
ハッシュに指定したキーが存在すれば真を返す。if(exists $HOGE{'key'}){ delete $HOGE{'key'}; } |
keys |
ハッシュ内の全てのキーを取り出す。@keylist = keys %HOGE; |
values |
ハッシュ内の全ての値を取り出す。@valuelist = value %HOGE; |
%HOGE = ('Comic' => {'夢の温度' => '南Q太', 'バガボンド' => '井上雄彦'});
print $HOGE{'Comic'}{'バガボンド'};
%hoge{'a'} = %e;
@hoge{'a'} = @f;
以下広告
最終更新:2008年03月17日 19:03