藻のブログ

日記,IT,学問(ジェンダー,人工知能など)について書かれることでしょう。

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という名称のディレクトリを改行区切りで列挙します。


どうでしょう……。