9.8 ディレクトリとその中身を削除する
- File::FIndモジュールのfinddepth関数を使用する。
- 例. rmtree1
#!/usr/bin/perl -w # rmtree1 - ディレクトリツリー全体を削除する(rm -rと同等) use File::Find; die "usage: $0 dir ..\n" unless @ARGV; find { bydepth => 1, no_chdir => 1, wanted => sub { if (!-1 && -d _) { rmdir or warn; } else { unlink or warn; } } } => @ARGV;
- File::Pathモジュールのrmtree関数を使用
- 例. rmtree2
#!/usr/bin/perl -w # rmtree2 - ディレクトリツリー全体を削除する(rm -rと同等) use File::Path; die "usage : $0 dir ..\n" unless @ARGV; foreach $dir (@ARGV) { rmtree($dir); }