 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Getting File Information in Perl
You can test certain features very quickly within Perl using a series of test operators known collectively as -X tests. For example, to perform a quick test of the various permissions on a file, you might use a script like this −
#/usr/bin/perl my $file = "/usr/test/file1.txt"; my (@description, $size); if (-e $file) {    push @description, 'binary' if (-B _);    push @description, 'a socket' if (-S _);    push @description, 'a text file' if (-T _);    push @description, 'a block special file' if (-b _);    push @description, 'a character special file' if (-c _);    push @description, 'a directory' if (-d _);    push @description, 'executable' if (-x _);    push @description, (($size = -s _)) ? "$size bytes" : 'empty';    print "$file is ", join(', ',@description),"\n"; } Here is the list of features, which you can check for a file or directory −
| Sr.No | Operator & Definition | 
|---|---|
| 1 | -A Script start time minus file last access time, in days. | 
| 2 | -B Is it a binary file? | 
| 3 | -C Script start time minus file last inode change time, in days. | 
| 4 | -M Script start time minus file modification time, in days. | 
| 5 | -O Is the file owned by the real user ID? | 
| 6 | -R Is the file readable by the real user ID or real group? | 
| 7 | -S Is the file a socket? | 
| 8 | -T Is it a text file? | 
| 9 | -W Is the file writable by the real user ID or real group? | 
| 10 | -X Is the file executable by the real user ID or real group? | 
| 11 | -b Is it a block special file? | 
| 12 | -c Is it a character special file? | 
| 13 | -d Is the file a directory? | 
| 14 | -e Does the file exist? | 
| 15 | -f Is it a plain file? | 
| 16 | -g Does the file have the setgid bit set? | 
| 17 | -k Does the file have the sticky bit set? | 
| 18 | -l Is the file a symbolic link? | 
| 19 | -o Is the file owned by the effective user ID? | 
| 20 | -p Is the file a named pipe? | 
| 21 | -r Is the file readable by the effective user or group ID? | 
| 22 | -s Returns the size of the file, zero size = empty file. | 
| 23 | -t Is the filehandle opened by a TTY (terminal)? | 
| 24 | -u Does the file have the setuid bit set? | 
| 25 | -w Is the file writable by the effective user or group ID? | 
| 26 | -x Is the file executable by the effective user or group ID? | 
| 27 | -z Is the file size zero? | 
Advertisements
 