#! /usr/bin/perl
use File::Find;
$index=1;
# 路徑設定
my $dir=shift || '/home/ols3';
my $tmp="dirlist.txt";
# 開啟記錄暫存檔
open(W, "> $tmp") || die "$!\n";
# 走訪該目錄,注意!!! 此處傳入一個回呼副程式 doit 的參考:\&doit
find(\&doit, $dir);
close(W);
# 動作區
sub doit {
print_process_status($index);
print W "$File::Find::name\n";
$index++;
}
sub print_process_status {
my $i=shift;
my $j = $i % 4;
SWITCH : {
$j == 0 && do { print STDERR " (|)\r"; last SWITCH; };
$j == 1 && do { print STDERR " (/)\r"; last SWITCH; };
$j == 2 && do { print STDERR " (-)\r"; last SWITCH; };
$j == 3 && do { print STDERR " (\\)\r"; last SWITCH; };
}
} |