http://qs321.pair.com?node_id=187809


in reply to Trying to convert shell script to Perl

for $DIR (split/\s+/,`ls -d [a-k]* lts mon [n-z]*`){ if (-d "$DIR/bld"){ system (qq(cd $DIR/bld;cbsfpfg.exe `echo "cbs"$DIR$RELEASE $DI +R`)); } }
Update: added split to better emulate shell script

Replies are listed 'Best First'.
Re: Re: shell problem
by graff (Chancellor) on Aug 06, 2002 at 03:01 UTC
    I don't think this approach will work any better than what the seeker posted. The problem is that the values being assigned to "$DIR" all have the line-termination character(s) attached (/[\r\n]+/), whereas this was not the case for the original shell script. You either have to "chomp $DIR" or else use the "opendir()" and "readdir()" calls, as demonstrated by DDA below.