I couldn't resist to run my famous emacs macro on a buffer with your code:
$sth = $dbh->prepare("select * from table order by mid"); $sth->execute(); while ( my $info = $sth->fetchrow_hashref ) { my $count = 0; my $mid = $$info{'mid'}; chomp($mid); my $num = 0; if ( $mid =~ /^[0-9]+$/ ) { print fh "$mid is a number\n"; $num = 1; # If so, change value } else { print fh "$mid is a string\n"; } print "$mid - \$num = $num\n" if ( $debug > 0 ); for my $id (@ldap) { chomp($id); if ( $num == 1 ) { print fh "$mid - $id - Equating as numbers.\n"; last if ( $count > 15 ); if ( $mid == $id ) { if ( $$info{'type'} ne 'NA' ) { splice @ldap, $count, 1; last; } } } else { print fh "$mid - $id - Equating as strings.\n"; last if ( $count > 15 ); if ( $mid eq $id ) { if ( $$info{'type'} ne 'NA' ) { splice @ldap, $count, 1; last; } } } $count++; } } $sth->finish;
Please see perltidy for further information.
Note that perltidy doesn't delete your comments ;-)
Best regards, Karl (AKA Dr Wisenheimer)
P.S.: See also bareword filehandles, qq and say.
«The Crux of the Biscuit is the Apostrophe»
perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help
In reply to Re: Strings/Numbers aren't equating properly
by karlgoethebier
in thread Strings/Numbers aren't equating properly
by M4ver1k
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |