05-30-2002
I could not get lstat to work at all - it would always give "" for an answer - tried hard and soft links.
Why you get the same info may be explained by the description of lstat on
Perldoc.com
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
About System and Perl: Sun Solaris 5.9 sparc, Perl 5.6.1
I've decided to use the perl file::find module to look for all the SETUID and SETGID files on my unix boxes. I wrote something like this: (I've shorted it a little to make it simple)
#!/opt/perl/bin/perl
use File::Find;
find... (1 Reply)
Discussion started by: x96riley3
1 Replies
2. Shell Programming and Scripting
Hi All,
I have a perl script(1.pl) that calls a c function defined in another file sample.c
#!/usr/bin/perl
my $re = 1;
my @s = `/home/PERL_SCRIPTING/Rough/sample pline $re 10`;
print "$_" foreach(@s);
The sample.c is as bwlow:
# include <stdio.h>
int pline(int, int);... (4 Replies)
Discussion started by: jisha
4 Replies
3. Shell Programming and Scripting
Hello All,
I have a perl script , and the STDERR and additional FH is redirected to the STDOUT like below:
open STDOUT ,">>$log" or die "$! :: $log\n";
open STDERR ,">&STDOUT" or die "$! :: Can redirect STDERR to STDOUT\n";
select STDERR; $|=1;
open LOG ,">&STDOUT" or die "$! :: Can... (2 Replies)
Discussion started by: Alalush
2 Replies
4. Programming
Hi,
We are using lstat in our project.
But in case of the path length more than 1024, it's returning error ENAMETOOLONG. Is there any another system call which is supporting more than 1024 path and providing the same info as lstat.
Thanks (2 Replies)
Discussion started by: Saurabh78
2 Replies
5. Shell Programming and Scripting
Hi,
I have this script in ksh, what it does is loop every ip in the nodes_nso and produced another variable up_nodes_nso of only ip's that are up.
nodes_nso=$(cat /var/tmp/nodes.txt)
echo "ICMP Tests:"
up_nodes_nso=""
for ip in ${nodes_nso} ; do
ping ${ip} 3 > /dev/null
if ; then
... (1 Reply)
Discussion started by: borderblaster
1 Replies
6. Programming
Hello,
I have a little problem with lstat.
I use the find utility, to find a path for a file in my system.
After that,I take that path and I pass it in lstat, but lstat returns -1, and this error : no such file or directory.
So I m trying to "ls" the path in the shell, but it also fails.
... (1 Reply)
Discussion started by: garag11
1 Replies
7. UNIX for Dummies Questions & Answers
Hello,
I have a little problem with lstat.
I use the find utility, to find a path for a file in my system.
After that,I take that path and I pass it in lstat, but lstat returns -1, and this error : no such file or directory.
So I m trying to "ls" the path in the shell, but it also fails.
... (2 Replies)
Discussion started by: garag11
2 Replies
8. Shell Programming and Scripting
Scenario: Users drop files into a directory which is regularly polled by my PERL process. On detecting a file my process will move it from the poll dir to a working directory. A user created a file with a £ symbol in the filename and my process now fails.
e.g £££F3AERO££.txt
... (1 Reply)
Discussion started by: thefal9
1 Replies
9. Shell Programming and Scripting
hello friends,
i have written one perl script.Which opens a file and search for some parameter's value and gets the status of these parameters. but while i am trying to return these value always i am getting false. Can any one please help me..
here is that function:
=======================... (5 Replies)
Discussion started by: harpal singh
5 Replies
10. Shell Programming and Scripting
I am using a for loop to copy files from say DIR1 and DIR2 to DIR3.I have to check whether files are copied from DIR1 and DIR2 and print the respective message.
@path=("$DIR1","$DIR2");
foreach (@path) {
$rc=system("cp $_/*xml $DIR3");
if ($rc == 0)
{
print "Files were copied... (1 Reply)
Discussion started by: liyakathali
1 Replies
LEARN ABOUT CENTOS
file::stat
File::stat(3pm) Perl Programmers Reference Guide File::stat(3pm)
NAME
File::stat - by-name interface to Perl's built-in stat() functions
SYNOPSIS
use File::stat;
$st = stat($file) or die "No $file: $!";
if ( ($st->mode & 0111) && $st->nlink > 1) ) {
print "$file is executable with lotsa links
";
}
if ( -x $st ) {
print "$file is executable
";
}
use Fcntl "S_IRUSR";
if ( $st->cando(S_IRUSR, 1) ) {
print "My effective uid can read $file
";
}
use File::stat qw(:FIELDS);
stat($file) or die "No $file: $!";
if ( ($st_mode & 0111) && ($st_nlink > 1) ) {
print "$file is executable with lotsa links
";
}
DESCRIPTION
This module's default exports override the core stat() and lstat() functions, replacing them with versions that return "File::stat"
objects. This object has methods that return the similarly named structure field name from the stat(2) function; namely, dev, ino, mode,
nlink, uid, gid, rdev, size, atime, mtime, ctime, blksize, and blocks.
As of version 1.02 (provided with perl 5.12) the object provides "-X" overloading, so you can call filetest operators ("-f", "-x", and so
on) on it. It also provides a "->cando" method, called like
$st->cando( ACCESS, EFFECTIVE )
where ACCESS is one of "S_IRUSR", "S_IWUSR" or "S_IXUSR" from the Fcntl module, and EFFECTIVE indicates whether to use effective (true) or
real (false) ids. The method interprets the "mode", "uid" and "gid" fields, and returns whether or not the current process would be allowed
the specified access.
If you don't want to use the objects, you may import the "->cando" method into your namespace as a regular function called "stat_cando".
This takes an arrayref containing the return values of "stat" or "lstat" as its first argument, and interprets it for you.
You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that
this still overrides your stat() and lstat() functions.) Access these fields as variables named with a preceding "st_" in front their
method names. Thus, "$stat_obj->dev()" corresponds to $st_dev if you import the fields.
To access this functionality without the core overrides, pass the "use" an empty import list, and then access function functions with their
full qualified names. On the other hand, the built-ins are still available via the "CORE::" pseudo-package.
BUGS
As of Perl 5.8.0 after using this module you cannot use the implicit $_ or the special filehandle "_" with stat() or lstat(), trying to do
so leads into strange errors. The workaround is for $_ to be explicit
my $stat_obj = stat $_;
and for "_" to explicitly populate the object using the unexported and undocumented populate() function with CORE::stat():
my $stat_obj = File::stat::populate(CORE::stat(_));
ERRORS
-%s is not implemented on a File::stat object
The filetest operators "-t", "-T" and "-B" are not implemented, as they require more information than just a stat buffer.
WARNINGS
These can all be disabled with
no warnings "File::stat";
File::stat ignores use filetest 'access'
You have tried to use one of the "-rwxRWX" filetests with "use filetest 'access'" in effect. "File::stat" will ignore the pragma, and
just use the information in the "mode" member as usual.
File::stat ignores VMS ACLs
VMS systems have a permissions structure that cannot be completely represented in a stat buffer, and unlike on other systems the
builtin filetest operators respect this. The "File::stat" overloads, however, do not, since the information required is not available.
NOTE
While this class is currently implemented using the Class::Struct module to build a struct-like class, you shouldn't rely upon this.
AUTHOR
Tom Christiansen
perl v5.16.3 2013-03-04 File::stat(3pm)