perl

いかんいかん

もう10日以上もサボってるじゃないかぁ! いやはやサボり癖というのは恐ろしいものでありますな。 とりあえず今日はこのくらい。 open my$fh,"<","path.txt" or die; my $line = <$fh>; my @paths; @paths = split(/;/,$line); foreach my $path(@paths){ if…

アリバイ的な

use strict; use warnings; use Test::More; use Cwd 'getcwd'; is(getcwd,"test"); done_testing;use strict; use warnings; use Cwd 'getcwd'; my $dir = getcwd; opendir my $dh,$dir; while(my $file = readdir($dh)){ print $file."\n"; } closedir $dh;

写経写経

use strict; use warnings; use Test::More; my $c = "abcdefg"; is( substr($c,1,2),"ab"); done_testing;use strict; use warnings; use Test::More; is( abs(-4),4); done_testing;use strict; use warnings; use Test::More; is( sqrt(9),2); done_testi…

明け方にこつこつ

my $str = "aaabbaa"; $str =~ s/a{1,3}/match/g; print $str; sub sum{ my ($num1,$num2) = @_; my $total = $num1 + $num2; return $total; } my $result = sum(7,4); print $result;my @array = (2,4,5,6,8,9); my @mapped = map{$_ * 2} @array; foreach…

今日も今日とて

my $count = 1; while (1){ print "$count\n"; $count++; if($count > 5){ last; } } print "終了";my $count = 0; while($count <= 5){ $count++; if($count == 2){ next; } print "$count\n"; } print "end\n";my $count = 0; while($count <= 5){ $count+…

もくもく

my $str = "string"; substr($str,0,0,"string"); print $str;my $str = "string"; $str = $str."string"; print $str;my $count = 0; my $str = ""; while($count < 10){ $str = $str."$count"; $count++; } print $str;my $count = 0; my $str = ""; until…

引き続きリハビリ

ひどいもんですが、これが今の実力。仕方が無いのです。 #!c:\perl\bin; use strict; use warnings; my $str = "string"; my $len = length($str); my $ind = index($str,"tr"); my $plain = substr($str,1,1); my $num = ord($plain); $num++; my $coded = …

HelloWorldを出力するスクリプトを書くスクリプト

use strict; use warnings; open(my $fh,"> ./helloWorld.pl") or die ("file cannot open"); print $fh "use strict;\n"; print $fh "use warnings;\n\n"; print $fh "print \"HelloWorld!\\n\";\n"; close($fh); "HelloWorld!"と表示するスクリプトを生成…

File::Path

make_pathを使ってみました。 use File::Path qw(make_path remove_tree); make_path('css','js');

perlとmysqlを連携 〜 select文 〜

引き続きこのサイトから写経していきます。 今日はSELECT文を使ってレコードを抜き出す方法についてです。 use strict; use warnings; use DBI; my $user = 'test'; my $passwd = 'test2001'; my $db = DBI->connect('DBI:mysql:ATMARKIT:localhost',$user,$…

perlとmysqlを連携

プログラミング超初心者(たとえば私のような)にとって、データベースとの連携というのは、一つの壁であります。 私もこれまで何度か試みたことはあるのですが、そのたび挫折してきました。理由はいろいろあるのですが、大きな理由としてはperlで必要なライ…

Tkxでウインドウサイズとタイトルを指定

Tkxを引き続き触っています。といっても、ちょっとここ数日できていませんでしたが……。 今回はTkxで作るウインドウの、ウインドウサイズとタイトルを指定するプログラムを書いてみました。 #!c:\perl\bin; use strict; use warnings; use Tkx; my $w = Tkx::…

ボタンを二つ並べてみた。

Tkxでボタンを二つ並べてみました。 use strict; use warnings; use Tkx; Tkx::button(".b", -text => "Hello,world", -command => sub{ Tkx::destroy(".");}, ); Tkx::button(".c", -text => "next", -command => sub{;}, ); Tkx::pack(".c"); Tkx::pack(".…

Tkxに触ってみた。

本当はperlからデータベースをいじってみたかったのですが、DBD::mysqlがインストールできなくて挫折。その代わりといってはナンですが、Tkxというモジュールをインストールしてみました。Tkxはどうやら簡単にperlでGUIプログラミングできるようになるモジュ…

好きな拡張子かつ空のファイルを10個作るプログラム

昨日書いた特定の拡張子を持つファイルにのみ処理を施していくプログラムをテストするために、テスト用のファイルを作っているときに、指定した拡張子を持つファイルを何個かつくるというプログラムがあれば少し便利かなあと思いました。……しかし回りくどい…

別のディレクトリから起動すると……?

またもperlの話題。しかも小ネタも小ネタです。 例えば、下のようなコードがあったとします。 use strict; use warnings; opendir(my $dh,"./"); my @files = readdir($dh); closedir($dh); foreach(@files){ print $_."\n"; } このファイルがディレクトリ1…

拡張子変更プログラム一応完成

このエントリから毎日少しずつ作り続けていたプログラムがようやっと、一応の完成を見ました。機能としては、コマンドラインから叩くと、そのディレクトリに含まれている.JPGの拡張子を、.jpgに変えてやるというシンプルというか貧弱なもの。これで満足する…

正規表現の演習2 〜後方参照〜

正規表現には後方参照という機能があります(たぶん、この一文はかなり間違ってるのでしょうが、今回はこれでいかせてもらいます)。後方参照とは何か? というと、つまり正規表現で指定したパターンにマッチした部分の、ある部分を取り出す機能です。 たと…

正規表現の演習1

正規表現を勉強していきます。このペースでやっていってると、まともなプログラムが書けるようになるまで八年はかかるんじゃないかと推察されますが、べつに仕事でやってるわけじゃなし、気長にやればいいのかなあ、とそんな風に思うわけであります。 という…

ファイル名の拡張子以外の部分を切り取る1

このエントリから流れで、拡張子が.JPGのファイルを.jpgにリネームしなおすための簡単なperlスクリプトを書こうとしています。 前のエントリでglobを使ってディレクトリ一覧を取得するところまでいきました。その前のエントリでリネームのやり方もわかってい…

globで簡単にディレクトリ一覧を取得

私は、いままでそれほどプログラムを書いてきた人間ではありません。ともすれば、決して高いわけでもない書籍代をケチり、web上のサンプルコードを写しては悦に行っていた程度の、ナンチャッテともいえない人間であります。perlもなんとなく触っては見たもの…

perlでファイルのリネーム

この記事の続きです。 ちょっと調べてみたところ、perlでファイルのリネームをするためには、renameという関数を使えば良いようです。第1引数にリネーム前のファイルパスを指定、第2引数でリネーム後のファイルパスを指定すればいいのだとか。へーっ! カ…

デジカメ写真の拡張子

あまり数多くのデジカメを使っているわけではありませんので、この話が一般的に通用するかどうか、という話になるとどうも自信が無いのですが、デジカメってなんで画像ファイルの拡張子を.JPGと大文字で表記するのでしょうか? 大文字で表記されても、まあ普…