#!/usr/bin/perl use strict; use warnings; my $name = shift or die "Usage: $0 file|directory\n"; my $mode = ( ( lstat($name) )[2] ) & 07777 or die "Can't stat() '$name'\n"; printf "%s %04o %s\n", ( -f _ ) ? 'f' : ( -l _ ) ? 'l' : ( -d _ ) ? 'd' : ( -b _ ) ? 'b' : ( -c _ ) ? 'c' : ( -p _ ) ? 'p' : ( -S _ ) ? 's' : '?', $mode, $name; 1;