tekniko has asked for the wisdom of the Perl Monks concerning the following question:
Can't find string terminator "EODATA" anywhere before EOF at ports.pl line 30.
when I attempt to run it. The code is below. Any help and/or suggestions appreciated!
#!/usr/bin/perl -w use strict; my $file = shift || die "SYNOPSIS: $0 datafile\n"; open( IN, $file ); my @in = <IN>; close IN; # # The raw data is almost already in perl format. # my @out; foreach( @in ) { last if /: ENDINTERROG/; push @out, "};\n\nsub ports\n{\n" if /:/; next if /:/; s/-\s*/-/g; # remove whitespace after minus sign s/(\d+)\%/0.$1/g; # change n% to 0.n # finally, turn it into a hash reference s/^\s*(\d+) (.*)$/ \'$1\' => [ qw ( $2 ) ],/; push @out, $_; } open OUT, ">$file.pm"; print OUT<<EODATA; sub warps { @out }; 1; EODATA close OUT;
Edit Masem 2002-02-19 - Changed title from "TW2002"
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: TW2002
by grep (Monsignor) on Feb 18, 2002 at 19:47 UTC | |
by tekniko (Deacon) on Feb 18, 2002 at 19:54 UTC | |
|
Re: TW2002
by dragonchild (Archbishop) on Feb 18, 2002 at 19:46 UTC | |
by dmmiller2k (Chaplain) on Feb 18, 2002 at 20:07 UTC | |
by chromatic (Archbishop) on Feb 18, 2002 at 20:02 UTC |