初めてのPerl ~ 12章 ディレクトリ操作 ~

練習問題1.6.1

 まずユーザからディレクトリ名を入力してもらい、そのディレクトリに移動する。
 もし、ユーザが入力した行に空白文字だけしか含まれていなければ、デフォルトに
 移動します。デフォルトの動作として、そのユーザのホームディレクトリに移動します。
 移動したら、そのディレクトリの内容をアルファベット順に表示する。

#!/usr/bin/perl

use warnings;
use strict;

chomp(my $dir = );
chdir $dir or die "Can't chdir to $dir";
my @file = glob "*" ;
foreach ( sort @file){
    print "$_\n";
}

練習問題 12.6.2

 練習問題12.6.1のプログラムを改造して、ドット以外で始まるものだけでなく、
 全てのファイルを表示するようにしてください。

#!/usr/bin/perl

use warnings;
use strict;

chomp(my $dir = );
chdir $dir or die "Can't chdir to $dir";
my @file = glob "* .*" ;
foreach ( sort @file){
    print "$_\n";
}

練習問題 12.6.3

 練習問題12.6.2のプログラムをディレクトリハンドルを使って書き換えよ

#!/usr/bin/perl

use warnings;
use strict;

print "Input Directory path >> ";
chomp(my $dir = );
chdir $dir;
opendir DIR,"." or die"Can't opne the directory : $!";
foreach my $file(sort readdir DIR){
    print "$file\n";
}
closedir DIR;

参考書

初めてのPerl

初めてのPerl