my $count = 1;
&msg( $who, "- Uptime for $ident -" );
&msg( $who,
- "Now: " . &Time2String( &uptimeNow() ) . " running $bot_version" );
+ 'Now: ' . &Time2String( &uptimeNow() ) . " running $bot_version" );
foreach ( &uptimeGetInfo() ) {
/^(\d+)\.\d+ (.*)/;
my %sorted;
my $unknown = $total - $vtotal;
- my $perc = sprintf( "%.1f", $unknown * 100 / $total );
+ my $perc = sprintf( '%.1f', $unknown * 100 / $total );
$perc =~ s/.0$//;
$sorted{$perc}{'unknown/cloak'} = "$unknown ($perc%)" if ($unknown);
foreach ( keys %ver ) {
my $count = scalar keys %{ $ver{$_} };
- $perc = sprintf( "%.01f", $count * 100 / $total );
+ $perc = sprintf( '%.01f', $count * 100 / $total );
$perc =~ s/.0$//; # lame compression.
$sorted{$perc}{$_} = "$count ($perc%)";
my $tp = 0;
foreach $i ( sort { $b <=> $a } keys %hash ) {
foreach ( keys %{ $hash{$i} } ) {
- my $p = sprintf( "%.01f", 100 * $i / $sum );
+ my $p = sprintf( '%.01f', 100 * $i / $sum );
$tp += $p;
push( @top, "\002$_\002 -- $i ($p%)" );
}
my $xtra;
if ( $total and $rank ) {
- my $pct = sprintf( "%.01f", 100 * ($rank) / $total );
+ my $pct = sprintf( '%.01f', 100 * ($rank) / $total );
$xtra =
", ranked $rank\002/\002$total (percentile: \002$pct\002 %)";
}
- my $pct1 = sprintf( "%.01f", 100 * $x / $sum );
+ my $pct1 = sprintf( '%.01f', 100 * $x / $sum );
&performStrictReply(
"\002$arg\002 has said \037$type\037 \002$x\002 times (\002$pct1\002 %)$xtra"
);
# File: Irc Servers list.
sub loadIRCServers {
- my ($file) = $bot_config_dir . "/infobot.servers";
+ my ($file) = $bot_config_dir . '/infobot.servers';
@ircServers = ();
%ircPort = ();
close FILE;
$file =~ s/^.*\///;
- &status( "Loaded $file (" . scalar(@ircServers) . " servers)" );
+ &status( "Loaded $file (" . scalar(@ircServers) . ' servers)' );
}
1;
sub help {
my $topic = shift;
- my $file = $bot_data_dir . "/infobot.help";
+ my $file = $bot_data_dir . '/infobot.help';
my %help = ();
# crude hack for performStrictReply() to work as expected.
foreach ( sort keys %help ) {
push( @array, $_ );
$reply =
- scalar(@array) . " topics: " . join( "\002,\002 ", @array );
+ scalar(@array) . ' topics: ' . join( "\002,\002 ", @array );
$i++;
if ( length $reply > 400 or $count == $i ) {
return $1;
}
else {
- return ".";
+ return '.';
}
}
$maxlen -= 30;
# no results.
- return $prefix . "returned no results." unless ($total);
+ return $prefix . 'returned no results.' unless ($total);
# random.
if ($rand) {
}
}
elsif ( $total > $maxshow ) {
- &status("formListReply: truncating list.");
+ &status('formListReply: truncating list.');
@list = @list[ 0 .. $maxshow - 1 ];
}
while () {
$reply = $prefix . "(\002" . scalar(@list) . "\002";
$reply .= " of \002$total\002" if ( $total != scalar @list );
- $reply .= "): " . join( " \002;;\002 ", @list ) . ".";
+ $reply .= '): ' . join( " \002;;\002 ", @list ) . '.';
last if ( length($reply) < $maxlen and scalar(@list) <= $maxshow );
last if ( scalar(@list) == 1 );
if ( $time < 0 ) {
$time = -$time;
- $prefix = "- ";
+ $prefix = '- ';
}
$t[0] = int($time) % 60;
if ( scalar @keys > 3 ) {
pop @keys while ( scalar @keys > 3 );
- push( @keys, "..." );
+ push( @keys, '...' );
}
if ( $i > 1 ) {
sub fixString {
my ( $str, $level ) = @_;
if ( !defined $str ) {
- &WARN("fixString: str == NULL.");
+ &WARN('fixString: str == NULL.');
return '';
}
next unless ( defined $level );
if (s/[\cA-\c_]//ig) { # remove control characters.
- &DEBUG("stripped control chars");
+ &DEBUG('stripped control chars');
}
}
my ( $str, $int ) = @_;
if ( !defined $str ) {
- &WARN("fixPlural: str == NULL.");
+ &WARN('fixPlural: str == NULL.');
return;
}
if ( !defined $int or $int =~ /^\D+$/ ) {
- &WARN("fixPlural: int != defined or int");
+ &WARN('fixPlural: int != defined or int');
return $str;
}
close IN;
if ( !scalar @lines ) {
- &ERROR("GRLF: nothing loaded?");
+ &ERROR('GRLF: nothing loaded?');
return;
}
close IN;
if ( $lineno > scalar @lines ) {
- &ERROR("getLineFromFile: lineno exceeds line count from file.");
+ &ERROR('getLineFromFile: lineno exceeds line count from file.');
return 0;
}
return $array[ int( rand( scalar @array ) ) ];
}
-# Usage: &getRandomInt("30-60"); &getRandomInt(5);
-# Desc : Returns a randomn integer between "X-Y" or 1 and the value passed
+# Usage: &getRandomInt('30-60'); &getRandomInt(5);
+# Desc : Returns a randomn integer between 'X-Y' or 1 and the value passed
sub getRandomInt {
my $str = shift;
if ( !defined $str ) {
- &WARN("getRandomInt: str == NULL.");
+ &WARN('getRandomInt: str == NULL.');
return undef;
}
}
if ( !defined $thisnuh ) {
- &WARN("IHM: thisnuh == NULL.");
+ &WARN('IHM: thisnuh == NULL.');
return 0;
}
elsif ( $thisnuh =~ /^(\S+)!(\S+)@(\S+)/ ) {
my ( $file, $age ) = @_;
if ( !defined $age ) {
- &WARN("isStale: age == NULL.");
+ &WARN('isStale: age == NULL.');
return 1;
}
if ( !defined $file ) {
- &WARN("isStale: file == NULL.");
+ &WARN('isStale: file == NULL.');
return 1;
}
return 1 unless ( -f $file );
if ( $file =~ /idx/ ) {
my $age2 = time() - ( stat($file) )[9];
- &VERB( "stale: $age2. (" . &Time2String($age2) . ")", 2 );
+ &VERB( "stale: $age2. (" . &Time2String($age2) . ')', 2 );
}
$age *= 60 * 60 * 24 if ( $age >= 0 and $age < 30 );
my @array = split( /\./, $host );
return $nu . $host if ( scalar @array <= 3 );
- return $nu . "*." . join( '.', @{array}[ 1 .. $#array ] );
+ return $nu . '*.' . join( '.', @{array}[ 1 .. $#array ] );
}
# Usage: &makeRandom(int);
my $pid;
&shmFlush();
- &VERB( "double fork detected; not forking.", 2 ) if ( $$ != $bot_pid );
+ &VERB( 'double fork detected; not forking.', 2 ) if ( $$ != $bot_pid );
if ( &IsParam('forking') and $$ == $bot_pid ) {
return unless &addForked($label);
### TODO: use AUTOLOAD
### very lame hack.
if ( $label !~ /-/ and !&loadMyModule($label) ) {
- &DEBUG("Forker: failed?");
+ &DEBUG('Forker: failed?');
&delForked($label);
}
$code->(); # weird, hey?
}
else {
- &WARN("Forker: code not defined!");
+ &WARN('Forker: code not defined!');
}
&delForked($label);
$last{buflen} = 0;
$last{say} = '';
$last{msg} = '';
-$userHandle = "_default";
+$userHandle = '_default';
$wingaterun = time();
$firsttime = 1;
$utime_userfile = 0;
###
open( VERSION, '<VERSION' );
-$bot_release = <VERSION> || "(unknown version)";
+$bot_release = <VERSION> || '(unknown version)';
chomp($bot_release);
close(VERSION);
$bot_version = "infobot $bot_release -- $^O";
my ($sig) = @_;
if ( defined $flag_quit ) {
- &WARN("doExit: quit already called.");
+ &WARN('doExit: quit already called.');
return;
}
$flag_quit = 1;
elsif ( $bot_pid == $$ ) { # parent.
&status("parent caught SIG$sig (pid $$).") if ( defined $sig );
- &status("--- Start of quit.");
+ &status('--- Start of quit.');
$ident ||= 'infobot'; # lame hack.
&status("Memory Usage: $memusage KiB");
&closeLog();
&closeSQLDebug() if ( &IsParam('SQLDebug') );
- &status("--- QUIT.");
+ &status('--- QUIT.');
}
else { # child.
&status("child caught SIG$sig (pid $$).");
my $chan = $_;
my @array = grep /^$param$/, keys %{ $chanconf{$chan} };
-#&DEBUG("gCCL param => $param, chan => $chan, keys => " . join(':',keys %{ $chanconf{$chan} }) . " array => " . join(':', @array)) if ($param eq 'whatever');
+#&DEBUG("gCCL param => $param, chan => $chan, keys => " . join(':',keys %{ $chanconf{$chan} }) . ' array => ' . join(':', @array)) if ($param eq 'whatever');
next unless ( scalar @array );
if ( scalar @array > 1 ) {
- &WARN("multiple items found?");
+ &WARN('multiple items found?');
}
if ( $chanconf{$chan}{$param} eq '0' ) {
my $debug = 0; # 1 if ($param eq 'whatever');
if ( !defined $param ) {
- &WARN("IsChanConf: param == NULL.");
+ &WARN('IsChanConf: param == NULL.');
return 0;
}
return 1;
}
- $chan ||= "_default";
+ $chan ||= '_default';
my $old = $chan;
if ( $chan =~ tr/A-Z/a-z/ ) {
my ( $param, $c ) = @_;
if ( !defined $param ) {
- &WARN("gCC: param == NULL.");
+ &WARN('gCC: param == NULL.');
return 0;
}
# this looks evil...
if ( 0 and !defined $chan ) {
- &DEBUG("gCC: ok !chan... doing _default instead.");
+ &DEBUG('gCC: ok !chan... doing _default instead.');
}
$c ||= $chan;
- $c ||= "_default";
- $c = "_default" if ( $c eq "*" ); # FIXME
+ $c ||= '_default';
+ $c = '_default' if ( $c eq '*' ); # FIXME
my @c = grep /^\Q$c\E$/i, keys %chanconf;
if (@c) {
return $chanconf{ $c[0] }{$param};
}
- #&DEBUG("gCC: returning _default... " . $chanconf{"_default"}{$param});
- return $chanconf{"_default"}{$param};
+ #&DEBUG('gCC: returning _default... ' . $chanconf{'_default'}{$param});
+ return $chanconf{'_default'}{$param};
}
sub getChanConfDefault {
my ( $what, $default, $chan ) = @_;
- $chan ||= "_default";
+ $chan ||= '_default';
if ( exists $param{$what} ) {
if ( !exists $cache{config}{$what} ) {
my ($param) = @_;
if ( !defined $param ) {
- &WARN("param == NULL.");
+ &WARN('param == NULL.');
return 0;
}
sub setup {
&showProc(" (\&openLog before)");
&openLog(); # write, append.
- &status("--- Started logging.");
+ &status('--- Started logging.');
# read.
- &loadLang( $bot_data_dir . "/infobot.lang" );
+ &loadLang( $bot_data_dir . '/infobot.lang' );
&loadIRCServers();
&readUserFile();
&readChanFile();
);
&checkTables();
- &status( "Setup: " . &countKeys('factoids') . " factoids." );
+ &status( 'Setup: ' . &countKeys('factoids') . ' factoids.' );
&getChanConfDefault( 'sendPrivateLimitLines', 3, $chan );
&getChanConfDefault( 'sendPrivateLimitBytes', 1000, $chan );
&getChanConfDefault( 'sendPublicLimitLines', 3, $chan );
$param{tempDir} =~ s#\~/#$ENV{HOME}/#;
&status("Initial memory usage: $memusage KiB");
- &status("-------------------------------------------------------");
+ &status('-------------------------------------------------------');
}
sub setupConfig {
$param{'VERBOSITY'} = 1;
- &loadConfig( $bot_config_dir . "/infobot.config" );
+ &loadConfig( $bot_config_dir . '/infobot.config' );
foreach (qw(ircNick ircUser ircName DBType tempDir)) {
next if &IsParam($_);
}
if ( $param{tempDir} =~ s#\~/#$ENV{HOME}/# ) {
- &VERB( "Fixing up tempDir.", 2 );
+ &VERB( 'Fixing up tempDir.', 2 );
}
if ( $param{tempDir} =~ /~/ ) {
- &ERROR("parameter tempDir still contains tilde.");
+ &ERROR('parameter tempDir still contains tilde.');
exit 1;
}
sub startup {
if ( &IsParam('DEBUG') ) {
- &status("enabling debug diagnostics.");
+ &status('enabling debug diagnostics.');
# I thought disabling this reduced memory usage by 1000 KiB.
use diagnostics;
my ($sig) = @_;
# reverse order of &setup().
- &status("--- shutdown called.");
+ &status('--- shutdown called.');
# hack.
$ident ||= 'infobot';
&ircCheck(); # heh, evil!
- &DCCBroadcast( "-HUP called.", 'm' );
+ &DCCBroadcast( '-HUP called.', 'm' );
&shutdown($sig);
- &loadConfig( $bot_config_dir . "/infobot.config" );
+ &loadConfig( $bot_config_dir . '/infobot.config' );
&reloadAllModules() if ( &IsParam('DEBUG') );
&setup();
if ( !open( FILE, $file ) ) {
&ERROR("Failed to read configuration file ($file): $!");
&status(
-"Please read the INSTALL file on how to install and setup this file."
+'Please read the INSTALL file on how to install and setup this file.'
);
exit 0;
}