NAME
   File::Stat::Ls - Perl class for converting stat to ls -l format

SYNOPSIS
     use File::Stat::Ls;

     my $obj = File::Stat::Ls->new;
     my $ls = $obj->ls_stat('/my/file/name.txt');

DESCRIPTION
   This class contains methods to convert stat elements into ls format. It
   exports two methods: *format_mode* and *ls_stat*. The *format_mode* is
   borrowed from *Stat::lsMode* class by Mark_Jason Dominus. The *ls_stat*
   will build a string formated as the output of 'ls -l'.

 new ()

   Input variables:

     None

   Variables used or routines called:

     None

   How to use:

      my $obj = new File::Stat::Ls;      # or
      my $obj = File::Stat::Ls->new;     # or

   Return: new empty or initialized File::Stat::Ls object.

METHODS
   This class defines the following common methods, routines, and
   functions.

 Exported Tag: All

   The *:all* tag includes all the methods or sub-rountines defined in this
   class.

     use File::Stat::Ls qw(:all);

   It includes the following sub-routines:

 format_mode ($mode)

   Input variables:

     $mode - the third element from stat

   Variables used or routines called:

     None

   How to use:

      my $md = $self->format_mode((stat $fn)[2]);

   Return: string with permission bits such as -r-xr-xr-x.

 ls_stat ($fn)

   Input variables:

     $fn - file name
        ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
         $atime,$mtime,$ctime,$blksize,$blocks) = stat($fn);

   Variables used or routines called:

     None

   How to use:

      my $ls = $self->ls_stat($fn);

   Return: the ls string such as one of the followings:

     -r-xr-xr-x   1 root     other         4523 Jul 12 09:49 uniq
     drwxr-xr-x   2 root     other       2048 Jul 12 09:50 bin
     lrwxrwxrwx   1 oracle7  dba           40 Jun 12  2002 linked.pl
                  -> /opt/bin/linked2.pl

 stat_attr ($fn, $typ)

   Input variables:

     $fn - file name for getting stat attributes
        ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
         $atime,$mtime,$ctime,$blksize,$blocks) = stat($fn);
     $typ - what type of object that you want it to return.
       The default is to return a hash containing filename, longname,
       and a hash ref with all the element from stat.
       SFTP - to return a Net::SFTP::Attributes object

   Variables used or routines called:

     ls_stat

   How to use:

      my $hr = $self->stat_attr($fn);  # get hash ref
      my %h  = $self->stat_attr($fn);  # get hash

   Return: $hr or %h where the hash elements are depended on the type. The
   default is to get a hash array with the following elements:

     filename - file name
     longname - the ls_stat string for the file
     a        - the attributes of the file with the following elements:
                dev,ino,mode,nlink,uid,gid,rdev,size,atime,mtime,
                ctime,blksize,blocks

   If the type is SFTP, then it will only return a *Net::SFTP::Attributes*
   object with the following elements:

     flags,perm,uid,gid,size,atime,mtime

HISTORY
   * Version 0.10
       This version includes two methods: format_mode and ls_stat. It is
       uploaded to CPAN on 7/11/2005.

   * Version 0.11
       07/12/2005 (htu) - added stat_attr method.

SEE ALSO (some of docs that I check often)
       Data::Describe, Oracle::Loader, CGI::Getopt, File::Xcopy,
       Oracle::Trigger, Debug::EchoMessage, CGI::Getopt, etc.

AUTHOR
       Copyright (c) 2005 Hanming Tu. All rights reserved.

       This package is free software and is provided "as is" without
       express or implied warranty. It may be used, redistributed and/or
       modified under the terms of the Perl Artistic License (see
       http://www.perl.com/perl/misc/Artistic.html)