in reply to Pls explain this syntax
If a variable is declared local in the main block, does it mean that if a subroutine is declared then this variable can not be used inside subroutines as its declared outside the subroutine as local ?
No, it doesn't. You can use variable in subroutine.
my $dirname = dirname $old_name ; # what does this syntax mean ?
This mean my $dirname = dirname($old_name);. (dirname is a function from File::Basename)
does it mean that not will be added at the start of the string ?
Correct
(my $basename = $name =~ s#./##; # how come there is only one forward slash ?
You can use any symbol as regexp delimiter. This is the same as $name =~ s/.\///
|
|---|