-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathread_dir2.pl
More file actions
58 lines (49 loc) · 939 Bytes
/
read_dir2.pl
File metadata and controls
58 lines (49 loc) · 939 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/perl -w
use strict;
use File::Spec;
#print("$x \n");
sub MostrarFileAndDirs
{
# Verificar param de entrada (1)
if(@_ != 1)
{
print ("Número de parâmetros <> 1 \n");
exit;
}
# Abrir a Dir
opendir(DIR, $_[0]) || die "Dir não existe";
# Obter conteúdo
my @conteudo = readdir(DIR);
# Fechar a Dir
close(DIR);
# Mostrar os ficheiros e as Dirs
my $f;
my $fAux;
foreach $f (@conteudo)
{
my $fAux = File::Spec->catfile($_[0],$f);
if(-d $fAux)
{
printf("%s \t %s \n", "directoria", $fAux);
}
if(-f $fAux)
{
printf("%s \t %s \n", "directoria", $fAux);
}
}
}
# Validar a linha de comandos (1 argumento é obrigatório)
if(@ARGV != 1)
{
print ("Sintaxe: $0 <nome_dir_lista> \n");
exit;
}
my $directoria = $ARGV[0];
# Verificar se o argumento é Dir ou File
if(!(-d $directoria))
{
print ("Directoria $directoria não existe \n");
exit;
}
# chamar a função
MostrarFileAndDirs($directoria);