Perl スクリプトに一連のディレクトリが存在するかどうかを確認する必要があります。ディレクトリは XXXX*YYY の形式で名前が付けられます。XXXX ごとに確認し、真であれば if ステートメントを入力する必要があります。
私のスクリプトには、$monitor_location (スキャンされるルート ディレクトリへのパスを含む) と $clientid (XXXX を含む) の 2 つの変数があります。
以下のコード スニペットは、私が行っていることの詳細を示すために拡張されています。各クライアント ID を返すクエリがあり、返されたレコードごとにループし、そのクライアント ID が使用するディスク容量を計算しようとしています。
これまでのところ、次のコードがあります(動作しません):
# loop for each client
while ( ($clientid, $email, $name, $max_record) = $query_handle1->fetchrow_array() )
{
# add leading zeroes to client ID if needed
$clientid=sprintf"%04s",$clientid;
# scan file system to check how much recording space has been used
if (-d "$monitor_location/$clientid\*") {
# there are some call recordings for this client
$str = `du -c $monitor_location/$clientid* | tail -n 1 2>/dev/null`;
$str =~ /^(\d+)/;
$client_recspace = $1;
print "Client $clientid has used $client_recspace of $max_record\n";
}
}
はっきり言って、XXXXで始まるフォルダがあればif文を入れたい。
これが理にかなっていることを願っています!ありがとう