Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 演算子
  3. ファイルテスト
  4. here

ファイルサイズを取得する

ファイルサイズを取得するには、ファイルテスト演算子「-s」を使用します。

-s $file

ファイルサイズの単位はバイトです。

サンプルプログラム

ファイルテスト演算子 -s を使ってファイルサイズを取得するサンプルです。

use strict;
use warnings;

# ファイルのサイズを取得する。
# -s ファイル名
# 単位は、バイトです。

print "1: ファイルのサイズを取得する。 -s\n";
my $file = "a.txt";
if (-f $file) {
  my $file_size = -s $file;
  print "$file のファイルサイズは、$file_size バイトです。\n\n";
}
else { print "$file は、存在しませんでした。\n\n" }
use strict;
use warnings;

print "2: ファイルサイズがあるバイトを超えたら出力をとめる。\n";

my $file = "output_$$.txt";
if (-e $file) {
  die "$file は存在します。\n";
}

open my $fh, ">", $file
  or die "File open error : $!";

while (-s $file < 1_000_000) {
  my $string = ('a' x 99) . "\n";
  print $fh $string;
}

print "出力後の $file のファイルサイズは、" . -s $file . "バイトです。\n";

close $fh;
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。