Perlで特定のディレクトリを列挙する
2016年1月ころから Perl を始めました。(それで、さいきんは勉強していなかったのですが、数週間前から再開しました。)
Perl で、ディレクトリを再帰的に検索し、サーバ上の Git リモートリポジトリのディレクトリ名を列挙するプログラムを作ってみました。
#!perl -w sub repositories { my ($dir) = @_; my @files; for (glob $dir."/*") { if (/^(?:\/.*)\/.+\.git$/) { push @files, $_; } else { push @files, &repositories($_) if (-d $_); } } @files; } print "$_\n" for sort &repositories("/opt/git");
このプログラムは、/opt/git
配下にあるディレクトリを再帰的に検索し、*.git
という名称のディレクトリを改行区切りで列挙します。
どうでしょう……。