The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

NG::File - File object for NG.

SYNOPSIS

    my $f = NG::File->new('/tmp/file');
    say $f->fstat;

METHODS

from_json/yaml

Return Hashtable or Array:

    my $object = NG::File->from_yaml/json($file);

read_file

    my $filepath = '/home/chenryn/test.conf';
    my $content = NG::File->read_file($filepath);
 
    NG::File->new('test.txt')->read_file(sub {
        my ($content) = @_;
        say $content->get(1);
    });

read_dir

    read_dir('/root')->each(sub {
        my $file = shift;
        read_file( $file, sub {
            ...
        })
    });
    read_dir(qw(/root /tmp), sub{
        my ($dir, $file) = @_;
        ...
    });

fstat

     0 dev      device number of filesystem
     1 ino      inode number
     2 mode     file mode  (type and permissions)
     3 nlink    number of (hard) links to the file
     4 uid      numeric user ID of file's owner
     5 gid      numeric group ID of file's owner
     6 rdev     the device identifier (special files only)
     7 size     total size of file, in bytes
     8 atime    last access time in seconds since the epoch
     9 mtime    last modify time in seconds since the epoch
    10 ctime    inode change time in seconds since the epoch (*)
    11 blksize  preferred block size for file system I/O
    12 blocks   actual number of blocks allocated