Stefan: Ergänzung

Beitrag lesen

Hallöchen!

open(USERDATA, "whoisonline.dat") || die print "<p>[...]</p>\n";);
                                                                ^^
Das hier ist zuviel.

Bingo, der Fehler ist auch behoben, dafür aber wieder mal was neues *argh*:

Global symbol "$user_online" requires explicit package name at whoisonline.cgi line 30.
Global symbol "$user_online" requires explicit package name at whoisonline.cgi line 32.
Global symbol "$user_online" requires explicit package name at whoisonline.cgi line 32.
Missing right curly or square bracket at whoisonline.cgi line 63, at end of line
  (Might be a runaway multi-line ~~ string starting on line 35)
syntax error at whoisonline.cgi line 63, at EOF
Execution of whoisonline.cgi aborted due to compilation errors.

ab Zeile 30:
 foreach $user_online(@users)
 {
 USERS_ONLINE .= qq~<a href="viewprofile.cgi?user=$user_online" target="_blank">$user_online</a><br>\n~;
 }

Zeile 63 wäre dann diese:
</html>~;