perl

Mac OS X/DBD::mysqlを入れる

(あ、これも先週のですー。公開ボタン押し忘れ。) いやー、参りました!perlモジュールのDBD::mysqlをインストールしたいのにできないー、という泥沼にはまってました。しかし〜、下記URLを参考にしたら入りましたー(入ったのか?)。以下に、私のしたことも…

perl/サブルーチン〜myとlocalでいろいろ実験してみた〜

また公開ボタンを押すのを忘れてた〜。これ、先週のです。 実験(1) #! usr/bin/perl use strict; use warnings; my $x=123; print "a:$x\n"; { print "b:$x\n"; my $x=456; &print_x; print "c:$x\n"; } print "d:$x\n"; &print_x; print "e:$x\n"; sub prin…

perl/サンプルコード〜サブルーチンを使う〜

#! usr/bin/perl use strict; use warnings; #サブルーチンを使って、現在時刻をカスタマイズ表示してみた。 sub get_date_string { my @week=('sun','mon','tue','wed','thu','fri','sat'); my ($sec,$min,$hour,$day,$mon,$year,$weekday)=localtime(); $y…

perl/コンテキスト〜リストコンテキスト評価をスカラーコンテキスト評価にしたい〜

方法は3つです。 #! usr/bin/perl use strict; use warnings; #リストコンテキストで評価されるものをスカラーコンテキストで評価するようにしたいときはどーするの? print localtime();#出力結果=>48161519710932300=>printはリストコンテキストで評価する…

perl/コンテキスト〜スカラー変数に代入してもリストコンテキストとなる場合〜

まず、前知識として、以下のことを頭に入れておく。 print => リストコンテキストで評価する localtime() => スカラーコンテキストで評価された場合:戻り値例), Wed Aug 19 15:49:55 2009 リストコンテキストで評価された場合 :戻り値例), 31 51 15 19 7 1…

perl/コンテキスト

この他に今日は、以下のこともしました。時間がないので、また今度まとめますー。 ・apacheの設定 ・perlのライブラリパスの設定 #! usr/bin/perl use strict; use warnings; use Data::Dumper; #スカラーコンテキスト my $scalar1=123; my $scalar2=localti…

perl/ハッシュの中にハッシュ〜リファレンスとデリファレンス〜

#! usr/bin/perl use strict; use warnings; use Data::Dumper; # ハッシュのハッシュ(ハッシュの中にハッシュがある) my %hash1=( color=>{ 1=>'red', 2=>'bule', 3=>'pink' }, number=>{ a=>111, b=>222, c=>333, d=>444 }, japan=>{ sikoku=>'kouchi', ty…

perl/(リスト)[添字]と書く方法もある〜($hoge1, $hoge2)[$hoge3]では、どんな値が返ってくるの?〜

添字を使うときって、配列の要素にアクセスするときっていうイメージが強すぎて、こんな使い方、思いつかなかった。 #! usr/bin/perl use strict; use warnings; my $hoge1='a'; my $hoge2=123; my $hoge3=0; # 出力結果=>a my $hoge = ($hoge1, $hoge2)[$ho…

perl/配列の中に配列〜リファレンスとデリファレンス〜

perlって、今のところ思ったほど難しくない。でも、これからが問題なんだろうなー。モジュールを使ったり自分でサブルーチン作ったりで。。。 #! usr/bin/perl use strict; use warnings; use Data::Dumper; # 配列の配列(配列の中に配列) my @array1=( [1,2…

perl/「格納」について〜値の格納と変数名の格納〜

「値を変数に格納する」ってよく聞くし、「定義された変数名のついた箱に値をカポッと入れる」、っていうイメージもできる。でも、定義された変数名ってどんな扱いになってるんだろう、ってこれまたずっと気になってた。ま、これも、知らなきゃ知らないで別…

perl/perlの基本構造〜モジュール、サブルーチン等の関係〜

前々から、モジュールとかサブルーチンとかの区別がはっきりついてませんでした。別に、ついてなくてもいいのかもしれないけど、ちょっと気になっていたのですよ。最近は、なんとなく違いを感じることはできていましたが、人に違いを説明しろ、と言われると…

perl/リファレンスとデリファレンス〜配列の中にハッシュ、ハッシュの中に配列〜

最近、リファレンスとデリファレンスでいろいろするのにはまってます。実験が一通り済んだら、リファレンスとデリファレンスについて改めてまとめます。いろいろいじって実験するの、やっぱり楽しい。。。 #! usr/bin/perl use strict; use warnings; use Da…

perl/無名ハッシュのデリファレンス

#! usr/bin/perl use strict; use warnings; use Data::Dumper; my %hash1=( 'koma'=>{ 'age'=>100, 'gender'=>'f', 'blood type'=>'AB' }, 'kaku'=>{ 'age'=>200, 'gender'=>'m', 'blood type'=>'B' }, 'birth place'=>'okayama', 'contact'=>'e-mail', 'me…

perl/無名配列のリファレンスとデリファレンス、無名ハッシュのリファレンス

時間がないので、実験したコードだけとりあえず載せておきます。解説は、復習をかねて明日。 #! usr/bin/perl use strict; use warnings; use Data::Dumper; # 無名配列のリファレンスをprintしてみる。 my $ref_array=[ [1,2,3], ['a','b','c','d'], ['a3e4…

perl/二次元配列が作れた。〜リファレンスとデリファレンスを使用〜

perlに多次元配列がないということは、以前、本で知った。しかし、多次元配列がないといろいろ不便では?、と思い、ちょっと実験してみた。よーは、例えば、配列の中に配列を作るとなると、配列はスカラーしか持てないんだから、ポインタ(perlではリファレン…

perl/リファレンスとデリファレンス

ポイントは以下。 ●リファレンス=変数が格納されているエリアの参照値(アドレス値)を求めるとき 変数の前に「\」を付ける。 ●デリファレンス=リファレンスが指すエリア(アドレス)に格納されている値を取得するとき 変数の前に、変数のタイプに従い「$」「%」…

perl/リファレンスとデリファレンス〜ハッシュの中にハッシュや配列を入れる、配列の中にハッシュや配列を入れる〜

perlにも、C言語のポインタに似たものがあるということがわかった。 C言語を知ってる人は、「ポインタ = リファレンス」もしくは「データが入っている住所 = リファレンス」として学んだらよいのかな。そして、「その住所にあるデータ自体(住所の中身) = デ…

perl/ハッシュ、split、STDIN〜入力された数字を漢数字にする〜

#! usr/bin/perl use strict; use warnings; my %hash1=( 1=>'一', 2=>'二', 3=>'三', 4=>'四', 5=>'五', 6=>'六', 7=>'七', 8=>'八', 9=>'九', 0=>'〇' ); print "please input a number.\n"; my $in = <STDIN>; chomp ($in); if ($in!=~ /[0-9]+/){ print "your n</stdin>…

perl/foreach文

#! usr/bin/perl use strict; use warnings; my @array1=qw(koma goma kuma guma KOMA 45 666 11); my @array2=qw(58 5334 111 11 98 342); #公式=>foreach my 変数 (リスト){処理内容} foreach (@array1){ print "$_\n"; } print "\n"; foreach (sort(@arra…

perl/条件分岐、ハッシュ、正規表現〜テキストファイルからhtmlを生成する〜

makehtml.plでmypage.txtをhtmlにしてみた。 makehtml.pl #! usr/bin/perl use strict; use warnings; #変換ルールの設定 my %keyword = ( '----' => '<hr>', '-exit' => '<a href="http://www.yahoo.co.jp" target="_blank">yahoo</a>', '-home' => '<a href="http://www.google.co.jp" target="_blank">google</a>', '-notice' => 'リンクはご自…</hr>

perl/ハッシュ〜キーを数える、値を消してみる〜

#! usr/bin/perl use strict; use warnings; my %hash1 = ( 'aa@AA.com'=>'11,aA', 'bb@BB.com'=>'22,bB', 'cc@CC.com'=>'33,cC', 'dd@DD.com'=>'44,dD', 'ee@EE.com'=>'55,eE', 'ff@FF.com'=>'66,fF', 'gg@GG.com'=>'77,gG', 'hh@HH.com'=>'88,hH', ); #ハ…

perl/while文、foreach文、last、next、redo、二項演算子〜いろいろな繰り返し処理〜

実験をたくさんしてみた。読み込みファイルは、下の方に書いています。 #! usr/bin/perl use strict; use warnings; #last =>現在のループを終了する =head open(FILE,'file.txt') or die"$!"; while(<FILE>){ #chomp; #ファイルの中身の先頭が数字以外のとき、中</file>…

perl/open関数、while文、デフォルト変数$_〜ファイルを開いて読み込み内容をprint〜

#! usr /bin/perl use strict; use warnings; #関数openを使ってファイルをひらいてみる #open(FILE,'開きたいファイル名') or die "$!" =>ファイルが開けなかったら終了するよ。 #while(条件式){繰り返し実行する処理}; open(FILE,'file.txt') or die "$!";…

perl/ハッシュ〜キーと値を表示する〜

復習してみた。 #! usr/bin/perl use strict; use warnings; #ハッシュのキーと値を表示する。 my %hash1 = ( 'hello'=>685938, 'morning'=>74893, 'evening'=>73829486748578, 'night'=>5333 ); foreach (keys (%hash1)){ my $value = $hash1{$_}; print "$…

perl/opendir関数〜ディレクトリを表示してみる〜

#! usr/bin/perl use strict; use warnings; #カレントディレクトリを表示してみる。カレントディレクトリは「.」親ディレクトリは「..」 opendir(DIR,'.') or die "$!"; foreach (readdir(DIR)){ print "$_\n"; } closedir (DIR);

perl/open関数〜ファイルを開いて読み込み処理する〜

今期中に会社から求められている成果一覧をもらったので確認していると、ん?と思うことがありました。達成基準の判断指標に、「ブログ(このブログ)を週2回以上更新」とあったのです。ブログの更新が基準になることは知っていたけど、頻度については意識して…

perl/配列、foreach、grep、split〜配列の要素を、foreachを回して数字だけ抜き出して配列に入れる〜

#! usr/bin/perl use strict; use warnings; my @array1=("komatsu,32,A,3f5f,384901,34,123,5g42","takumi,557,NN,w9f9,3,45,1,4,8,1,412,4","subaru,9182934,FGUE,f8f2"); foreach (@array1){ print "$_\n"; } print "\n"; #数字だけ抜き出して配列に入れ…

(perl)ハッシュの復習〜sort,keys,delete関数〜

#! usr/bin/perl use strict; use warnings; my %hash1 = ( 'aa@AA.com'=>'11,aA', 'bb@BB.com'=>'22,bB', 'cc@CC.com'=>'33,cC', 'dd@DD.com'=>'44,dD', 'ee@EE.com'=>'55,eE', 'ff@FF.com'=>'66,fF', 'gg@GG.com'=>'77,gG', 'hh@HH.com'=>'88,hH', ); #ハ…

【perl】values関数、each関数、exists関数、delete関数〜ハッシュの値を返す、キーと値を取り出す、値が存在するか確認する、値を削除する

#! usr/bin/perl use strict; use warnings; #◎関数values=>hashの値を返す関数 my %hash1=( 'koma'=>55, 'gema'=>11, 'baba'=>35, 'italy'=>777, 'france'=>454, 9=>'hello' ); my @keys = keys(%hash1); my @value = values(%hash1); print "@keys\n"; #出…

【perl】配列の重複要素をまとめる・カウントする、ハッシュのキーと値を交換する・設定されている環境変数を表示する

#! usr/bin/perl use strict; use warnings; #◎配列の要素のうち、重複するものをhashを使ってひとつにまとめる my %uniq; my @array = (3,5,7,8,9,7,8,7,9,1,3,'papa','mama','koma','papa','koma','Koma'); #my @array = (3,5,7,8,9,7,8,7,9,1,3,'papa,mam…