Perl | Accessing a Directory using File Globbing
In Perl, a directory is used to store values in the form of lists. A directory is quite similar to a file. Just like a file, the directory also allows performing several operations on it. These operations are used for the modification of an existing directory or creation of a new one. A directory can be very easily opened and processed using the built-in function glob
.
Glob:
It returns a list of files that match the expression passed in the argument. This function can print all or the specific files whose extension has been passed to it.
Syntax:
@list = <*>; // Prints all files in current directory
@list = glob(“*.pl”); // Prints all files in current directory with extension .pl
@list = glob(‘//GeeksforGeeks//Files//*); // Prints all files in the given path
Here are some examples that illustrate accessing a directory using File Globbing
.
Examples:
#!/usr/bin/perl -w # Accessing files using glob function @files = glob ( '*' ); # Returns list of all files foreach $file ( @files ) # Loop to run through all files { print $file . "\n" ; # Print all files } |
Output:
#!/usr/bin/perl -w # Prints only the filename excluding the path use File::Basename; # Returns list of all files @files = glob ( 'C:/Users/GeeksForGeeks/Folder/*' ); foreach $file ( @files ) # Loop to run through all files { print basename( $file ), "\n" ; # Print all files } |
Output: