From: Peter J. Holzer on 6 May 2007 11:27 On 2007-05-01 11:22, elsiddik <elsiddik(a)gmail.com> wrote: > well i wanted to just mess a little with perl and try if it can give > me the same result of a small shell script i wrote a little while ago > but it doesnt seems to work out with me . here is my shell script > > #!/bin/bash > DIRECTORY="/usr/bin" > for file in $DIRECTORY/* > do whatis `basename $file` > > done > exit 0 > > i tried to run a similiar perl code by typing on command line. > > perl -e "system qw (whatis /usr/bin/*)" > > but its not giving me the same whatislog - what am i doing wrong ? Your perl script doesn't do the same thing as your shell script. Your shell script loops over all the filenames matching /usr/bin/*, extracting the basename of each and calling whatis with that. So if your /usr/bin/* starts like this: /usr/bin/822-date /usr/bin/Mail /usr/bin/X /usr/bin/X11 /usr/bin/Xorg /usr/bin/[ /usr/bin/a2p /usr/bin/aconnect /usr/bin/acpi /usr/bin/acpi_fakekey it will invoke whatis 822-date whatis Mail whatis X ... Your perl script just invokes the shell with the command "whatis /usr/bin/*" (assuming qq instead of qw), which will will in turn invoke whatis /usr/bin/822-date /usr/bin/Mail /usr/bin/X /usr/bin/X11 ... hp -- _ | Peter J. Holzer | I know I'd be respectful of a pirate |_|_) | Sysadmin WSR | with an emu on his shoulder. | | | hjp(a)hjp.at | __/ | http://www.hjp.at/ | -- Sam in "Freefall" |