ich habe nicht viel Ahnung von Perl, kan gerade so entziffern
was ungefähr passieren soll…
‚You are not alone‘
wir haben in einem Script einen Fehler allerdings nur bei
einer Umgebung - hier ist eine neuere PERL-Version
installiert.
Welches Betriebssystem ? Windows XP mit ActivePerl 5.8.8 ?
Oder Suse Linux 9.0 mit Perl 5.8.1 ?
defined(@array) is deprecated at /usr/global/bin/bunixlib.pl
line 1608.
(Maybe you should just omit the defined()?)
soweit ich das bisher rausgefunden habe muß man statt defined
mittlerweile exists verwenden, habe das auch einfach mal auf
Blöd versucht
Immerhin sind die Befehle defined() und exists() sind die Gegenstücke zu undef() und delete()…
1603 sub winpopup {
1604
1605 my ( $text, @hosts ) = @_ ;
1606 my ( $host, $host_adress, $winsmaster, $line, @cols
) ;
1607
1608 # if ( (! defined $text) || ( ! defined @hosts ) ) {
geaendert 14.11.2006
1609 if ( (! exists $text) || ( ! exists @hosts ) ) {
1610 &logt („ERROR: text or hostlist is missing !“,5) ;
1611 return $FALSE ;
1612 }
Idee in 1609: if ((!exists($text)) || (!exists(@hosts)) {…}
kann mir das einer umstricken oder benötigt ihr dafür mehr
Infos (code) ?
hab nochmal die perldoc-Seite zu defined geblättert, und anscheinend kann man das bei Skalaren durchaus noch verwenden. Wenn es also mit der bisherigen Lösung nicht geht, das defined $text so lassen wie es ist, und nur das defined vor @hosts weg machen, also
1608 if ( (! defined $text) || ( ! defined @hosts ) ) {