Ravinder Chauhan wrote: > > After installing Perl 5.8 my @files = system("dir bex*.* /od /b") function > has started behaving strange. Under 5.6 this function used to return the > list of files for matching files, however now in place of file list it is > returning a number "65280". I would appreciate if someone could help me in > this.
>From Perl version 5.6.0: system LIST system PROGRAM LIST [snip] The return value is the exit status of the program as returned by the `wait' call. To get the actual exit value divide by 256. See also the exec entry elsewhere in this document. This is not what you want to use to capture the output from a command, for that you should use merely backticks or `qx//', as described in the section on "`STRING`" in the perlop manpage. Return value of -1 indicates a failure to start the program (inspect $! for the reason). >From Perl version 2.0: system LIST Does exactly the same thing as "exec LIST" except that a fork is done first, and the parent process waits for the child process to complete. Note that argument processing varies depending on the number of arguments. The return value is the exit status of the program as returned by the wait() call. To get the actual exit value divide by 256. See also exec. If you want to get a list of files from the current directory use either: opendir my $dh, '.' or die "Cannot open the current directory: $!"; my @files = grep /^bex/, readdir $dh; closedir $dh; Or: my @files = glob 'bex*'; John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]