「Perl」の編集履歴(バックアップ)一覧はこちら
「Perl」(2008/03/17 (月) 19:03:25) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
** requireの使い方
http://www.nishishi.com/perltips/script1.html
モジュール:
#! /usr/bin/perl
package samplepackage;
sub function1 {
print "hogehoge\n";
}
1;
packageでモジュール名を宣言
メインルーチン:
require 'sample.cgi';
samplepackage::function1();
- useとrequireの違い
http://tech.bayashi.net/pdmemo/use-require.html
use:
perl5以上
BEGIN, CHECK, INIT ルーチンが使える。
起動時に全て読み込んでコンパイルする
require :
require文実行時にモジュール読み込み
BEGINなど使えない。
** 連想配列
[[連想配列解説>http://tech.bayashi.net/pdmemo/variable.html]] http://tech.bayashi.net/pdmemo/variable.html
連想配列の連想配列などが可能。
[[配列の扱い方 コマンドなど >http://santamartadotnet.hp.infoseek.co.jp/documents/perl/learningperl05.html]] http://santamartadotnet.hp.infoseek.co.jp/documents/perl/learningperl05.html
|%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;
[[配列の扱い方 コマンドなど >http://santamartadotnet.hp.infoseek.co.jp/documents/perl/learningperl05.html]]
以下広告
** perlと日本語
http://homepage2.nifty.com/ttoyoshima/Perl/Perl.htm
http://hardsoft.at.webry.info/200505/article_5.html
http://perl.active-venture.com/pod/perljp.html
perl 5.8以降はunicodeで動いているので、標準で漢字OKになった。
Winの場合は以下の宣言。
use encoding "cp932";
$/ = "\r\n";
** requireの使い方
http://www.nishishi.com/perltips/script1.html
モジュール:
#! /usr/bin/perl
package samplepackage;
sub function1 {
print "hogehoge\n";
}
1;
packageでモジュール名を宣言
メインルーチン:
require 'sample.cgi';
samplepackage::function1();
- useとrequireの違い
http://tech.bayashi.net/pdmemo/use-require.html
use:
perl5以上
BEGIN, CHECK, INIT ルーチンが使える。
起動時に全て読み込んでコンパイルする
require :
require文実行時にモジュール読み込み
BEGINなど使えない。
** 連想配列
[[連想配列解説>http://tech.bayashi.net/pdmemo/variable.html]] http://tech.bayashi.net/pdmemo/variable.html
連想配列の連想配列などが可能。
[[配列の扱い方 コマンドなど >http://santamartadotnet.hp.infoseek.co.jp/documents/perl/learningperl05.html]] http://santamartadotnet.hp.infoseek.co.jp/documents/perl/learningperl05.html
|%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;
[[配列の扱い方 コマンドなど >http://santamartadotnet.hp.infoseek.co.jp/documents/perl/learningperl05.html]]
以下広告