Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Issue with regex matching

by wanna_code_perl (Pilgrim)
on Aug 28, 2013 at 23:16 UTC ( #1051329=note: print w/replies, xml ) Need Help??

in reply to Issue with regex matching

You say you want to count how many times the variable appears in the file, but your code tries to count the number of lines that contain the variable. If you did intend the former, you can count the number of occurrences in one go:

while (<FILE>) { $count += () = /\Q$constant\E/g; } print "$constant occurs $count times\n";

In my experience, small files (anything less than several megabytes) often perform better if you slurp the whole thing in, rather than looping over each line:

use File::Slurp; my $constant = '$_'; $_ = read_file(''); $count = () = /\Q$constant\E/g; print "$constant occurs $count times\n";

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1051329]
[Discipulus]: i fear no
[Discipulus]: i invented also 'gired'
[Lady_Aleena]: Discipulus, then that is a problem. I wanted to find total seconds of my entire .mp3 collection to do some math on it to see how many days of continuous music i have.
[LanX]: darn. .. I wanted to see Marine and Melonchon go to next round, just for fun xD
[Discipulus]: LA use Perl: traversing a dir tree is simple; foreach file mp3 $sec+= use Mp3::Info
[Lady_Aleena]: Discipulus, I was able to get the sum of the seconds on the command line using awk. Then I ran the result through a perl script and got the result. It came bach with 4 days, 9 hours, 56 minutes, 43 seconds.
[Lady_Aleena]: s/bach/back/;
[Discipulus]: gired anyway is the intermediate state between hired and fired (and vice versa;)
[Lady_Aleena]: Discipuluis, I don't know if I want to fight with File::Find. File::Find and I are not friends.
[Discipulus]: 4 day Bach is too muche even for me

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (9)
As of 2017-04-23 20:32 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (432 votes). Check out past polls.