in reply to Re: Shell Commands executed in perl script
in thread Shell Commands executed in perl script

It's six of one and a half dozen of the other, I suppose, but I would prefer to dispense with the unwanted first line another way.

$ ls -l total 4 -rw-r--r-- 1 root root 0 May 22 21:09 accts drwxr-xr-x 2 root root 512 May 22 21:10 dir1 -rw-r--r-- 1 root root 0 May 22 21:09 file1 -rw-r--r-- 1 root root 0 May 22 21:09 file1.log -rw-r--r-- 1 root root 0 May 22 21:09 file13 -rw-r--r-- 1 root root 0 May 22 21:09 fred drwxr-xr-x 2 root root 512 May 22 21:10 staff $ perl -Mstrict -Mwarnings -e ' > open my $lsFH, q{-|}, q{ls -l} > or die $!; > scalar <$lsFH>; > print > map { qq{@{ [ (split)[8] ] }\n} } > grep { m{^[^d]} && ! m{file1} } > <$lsFH>;' accts fred $

Using a filehandle and a scalar read gets rid of the first line before the loop and avoids the extra test each time in the grep.

Cheers,

JohnGG