Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: grep and find file weirdness

by EvanCarroll (Chaplain)
on Jun 20, 2007 at 16:19 UTC ( [id://622299]=note: print w/replies, xml ) Need Help??


in reply to grep and find file weirdness

Here is some advice
  • Use File::Spec->catfile for building the directory locations and pathnames
  • Dont use constant open form, see open ( my $fh, $rw, $perm ) format
  • I think reading in the whole file is probably better for whatever you want, on a modern system
  • Don't grep for a file_path if the call requires it to be there
try something like:
#!/usr/bin/perl -l use strict; use File::Find; use File::Spec; use constant DIRECTORY => '/tmp/rja/find_test'; my @files; find( \&findsub, __PACKAGE__->DIRECTORY ); @files = grep is_dos_format($_), @files; foreach my $file (@files) { print "FAILED FILE - $file"; } sub findsub { push @files, $File::Find::name; } sub is_dos_format { my $abs_path = shift; open ( my $fh, '<', $abs_path ) or die "open $abs_path: $!" ; if ( grep m/\r\n/s, <$fh> ) { return 1; } return undef; }


Evan Carroll
www.EvanCarroll.com

Replies are listed 'Best First'.
Re^2: grep and find file weirdness
by blazar (Canon) on Jun 20, 2007 at 19:45 UTC
    I think reading in the whole file is probably better for whatever you want, on a modern system

    I don't think so. It may not do a big difference, on a modern system. But under certain circumstances it may even there. After all he wants to quit searching as soon as /\r\n/ matches: what benefit would he have going on instead?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://622299]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2024-04-25 08:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found