in reply to Fetdching filenames starting numbers.

your search() function is quite broken. Let me rewrite a bit of your code and make comments:

my $myfile = ">mytext.txt"; open(FILE, $myfile ) || "can not open: $!\n"; # please do not quote "$vars" # $ perldoc -q 'quoting.*vars' my ($fil,$dir) = (0,0); sub search { return if /^\.+$/ or /^ws_ftp/i; # i don#t know what the broken syntax ala # ($_ != /../) should mean, but it was nonsense # see perlop for '=~' and perlvar for $_ # the return statement is important # exiting from sub via next is bad and you'll get # warnings if( ! -l and -d _ ){ # the _ filehandle is described in `perldoc -f stat` print FILE "\n\nDIRECTORY\t\t$File::Find::name\n", ("-" x 20) , "\n"; $dir++; } else { print FILE "$_\n"; $fil++ } }

consider reading about perlstyle, perloperators, perlsyntax and control statements, perlsubroutines, and of course on the 'strict' pragma and on the -w switch (perlrun) and the 'warnings' pragma.

--
http://fruiture.de

Replies are listed 'Best First'.
Re: Re: Fetdching filenames starting numbers.
by Anonymous Monk on Aug 22, 2002 at 16:57 UTC
    I thank you for giving me much needed answer and more knowledge on Perl. I am not familiar with 'return'. What does it do?

      There's a "return" statement in nearly every procedural programming language supporting subroutines. It causes a subroutine to be stopped and to return a certain value to the caller.

      sub foo { return 1 }; $var = foo(); #$var is 1 sub bar { print "AAA"; return 1; print "BBB"; #will never happen, for 'return' has # stopped this sub } $var = bar();

      The breaking character of return is not present in all languages, i know ugly Pascal doesn't have a return statement and you cannot exit a sub from the middle.

      These are the very basics, try a good book to start!

      --
      http://fruiture.de
        There's a "return" statement in nearly every procedural programming language supporting subroutines

        Not Visual Basic!

        --twerq
        I cant thank you enough for your help! Thanks again.