でばぐめ -IT技術メモ- -2ページ目

でばぐめ -IT技術メモ-

主にハードウェア/ソフトウェアのプログラミングに関するブログです。

Perlでファイルのリンクを作成する方法です。


■ハードリンクの作成

Perlでファイルのハードリンクを作成したい場合、link関数を使います。


file1のハードリンクをfile2という名前で作成する場合

link "file1" "file2";

■シンボリックリンクの作成

Perlでファイルのシンボリックリンクを作成したい場合、symlink関数を使います。


file1のシンボリックリンクをfile2という名前で作成する場合


rename "old", "new";


■シンボリックリンク先の取得

シンボリックリンクが指している場所を知りたい場合、readlink関数を使います。

readlink関数は、そのシンボリックリンクが指している場所を表す文字列を返します。


file1のシンボリックリンク先を取得する場合

my $where = readlink "file1";

引数がシンボリックリンクでない場合には、undefを返します。

Perlでファイル削除、ファイル名変更する方法です。


■ファイル削除

Perlでファイルを削除したい場合、unlink演算子を使います。


unlink "file1" "file2";

glob関数を組み合わせることで、ファイルをいっぺんに削除することも可能です。


拡張子.oファイルを削除する場合

unlink glob "*.o";

■ファイル名変更

Perlでファイル名を変更したい場合、rename関数を使います。


oldというファイルをnewという名前に変更したい場合


rename "old", "new";


空白行にマッチさせるには、文字列の先頭を表す( ^ ) と 文字列の末尾を表す( $ )を用います。

ファイル内の空白行を削除したい場合は下のようになります。


while(<>) {
  print $_ unless /^\s*$/;
}

空白行削除を紹介したついでに空白文字の置換について紹介します。


■ 任意個の空白文字を1個のスペースに変換

s/\s+/ /g;

■ 先頭の空白文字を削除する


s/^\s+//g;

■ 末尾の空白文字を削除する

s/\s+$//g;


初めてのPerl 第5版/Randal L. Schwartz
¥3,780
Amazon.co.jp

初心者にもわかりやすく書かれていますが、
全くの初心者というより、少しPerlに慣れてきた時に威力を発揮する本です。
簡単なテキスト操作のためにPerlを使用するのであれば十分事足ると思います。


プログラミングPerl〈VOLUME1〉/ラリー ウォール
¥5,565
Amazon.co.jp

ページ数も多く、価格もそれなりなので、Perlについて詳しく知りたい人向けです。
"初めてのPerl"と重複する箇所も多々あるので、これからがっちりPerlを身につけたい人は
こちらをおすすめします。