However no matter what is inputted it moves on with out giving notice stating the town name has not been found.
SSCCE, perltidy, and the code "works"...
use warnings;
use strict;
addind();
sub addind {
open( MYINPUTFILE, "townsdata.txt" ) or die $!;
$| = 1;
my @lines = <MYINPUTFILE>;
print "INDUSTRY TOWN\n";
my $indtwn = <STDIN>;
$indtwn = <STDIN> until defined $indtwn;
chomp $indtwn;
print "cls();\n";
my $found = 0;
foreach my $townverify (@lines) {
my @field = split( ':', $townverify );
if ( $field[0] =~ m/^#/ ) {
next;
}
if ( $field[1] =~ /(?<![\w-])$indtwn(?![\w-])/i ) {
print "cls();\n";
$found = 1;
}
else {
print "cls();\n";
print "TOWN RECORD NOT FOUND\n";
print "sleep 3;\n";
print "cls();\n";
addind();
}
my $output = "inddata.txt";
open( DAT, "+<$output" ) || die("Cannot Open File");
my $indline;
$indline = <DAT> until eof DAT;
my ($indid) = $indline =~ m/\A(\d+):/;
print DAT ( ++$indid );
print DAT (":");
print DAT ($indtwn);
print DAT ("\n");
close(DAT);
print "INDUSTRY SUCCESSFULLY ADDED!!\n";
print "sleep 3;\n";
print "cls();\n";
print "industry();\n";
}
}
$ perl 11139256.pl
INDUSTRY TOWN
Foo
cls();
cls();
TOWN RECORD NOT FOUND
sleep 3;
cls();
INDUSTRY TOWN
PGH
cls();
cls();
INDUSTRY SUCCESSFULLY ADDED!!
sleep 3;
cls();
industry();
cls();
TOWN RECORD NOT FOUND
sleep 3;
cls();
INDUSTRY TOWN
^C