On Monday 10 December 2007 05:59, sunckell wrote: > > Hey group, Hello,
> Hope everyone had a great weekend. I was working on a perl > wrapper around the lsof command. On the AIX machines I work on the > version of lsof does not display the file name, only the node. So I > thought I would write a small wrapper around lsof that does a find on > the inode (with the volume specifically given as a command line > option.) Anyways, I used find2perl to generate the the relative find > code, but I can't seem to find a way to pass a variable to it. You can't pass a variable to it, nor does it return anything. open L, '-|', $lsof, $volume or die "Cannot open $lsof:$!\n"; while ( <L> ) { if ( /^COMMAND/ ) { print "COMMAND\tPID\tUSER\tINODE\t\tFILE\n"; } else { my ( $command, $pid, $owner, $node ) = ( split )[ 0, 1, 2, 7 ]; print "$command\t$pid\t$owner\t[$node]\t\t\n"; my @names; find( sub { my $ino = ( lstat )[ 1 ]; push @names, $_ if -f _ && $ino == $node; }, $mount ); } } close L or warn $! ? "Error closing $lsof pipe: $!" : "Exit status $? from $lsof"; John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/