Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Someone please verify this.

by Zaxo (Archbishop)
on Jul 10, 2007 at 03:58 UTC ( #625758=note: print w/replies, xml ) Need Help??

in reply to Someone please verify this.

Your C-style for loop runs from zero to minus one, because $#efile refers to the last index of the array @efile, which is created on the spot - empty. Your task will be much simpler if it is written using the idiomatic $_ variable.

#!/usr/bin/perl use warnings; use strict; my $input_file = 'dump.vcd'; open (INPUT, '<', $input_file) or die $!; while (<INPUT>) { s/\$var\w \d+ ([!,\#,\",\$,\%,&]) (\w) \$end/\$var $1 $2/; print; } close INPUT;
That has the benefit that the file is read and processed one line at a time, with no space taken for an array to hold it. I added warnings and strict, which would have told you what was wrong. I also improved open to the 3-arg form and added error checking in case open fails.

I don't believe your character class is exactly what you think it is because of all the commas and escapes. I didn't modify the s/// statement because I didn't know its intent.

After Compline,

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2021-03-02 08:06 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (41 votes). Check out past polls.