Hallo Forum!
Ich habe bei meinem Script folgendes Problem.
Ich lese mir mittels folgendem Script Daten aus Sybase aus
Als Ergebnis bekomme ich folgendes
Leider sind am Anfang von jeder ca. 2ten Zeile Leerzeichen bzw. Leerzeilen.
Wenn ich nun mein Programm darueberlaufen lasse, damit ich nur die Datenbanken zurueckerhalte, dann bekomme ich immer wieder Warnings, weil ja der Leerstring so scheint es auch untersucht wird!
So sehen die Warnings aus
Ich erhalte zwar die Datenbanken zurueck, aber genauso die Warnings; ich wuerde gerne aber dass das Programm richtig laeuft ohne Warnings.
Weiss jemand vll. wie ich das Programm umschreiben muesste, damit die Leerzeilen/Leerzeichen nicht mehr verglichen werden?
Danke vielmals im vorhinein!
Ich habe bei meinem Script folgendes Problem.
Ich lese mir mittels folgendem Script Daten aus Sybase aus
Code:
#!/bin/sh
isql -Usa -P -w500 -SJ7400DA1 -odb_groesse.txt -s";" << END-OF-INPUT
sp_helpdb
go
END-OF-INPUT
Als Ergebnis bekomme ich folgendes
Code:
;name ;db_size ;owner ;dbid ;created ;status ;
;------------------------;-------------;------------------------;------;------------------;------------------------------------------------------------------------------------------------------;
;BACKUPTESTMXOE631 ; 3048.0 MB;sa ; 12;Aug 11, 2008 ;offline, mixed log and data ;
;BACKUPTESTMXOE634 ; 3048.0 MB;sa ; 13;Aug 11, 2008 ;offline, mixed log and data ;
;TESTDB ; 6000.0 MB;datamart ; 14;Aug 20, 2008 ;select into/bulkcopy/pllsort ;
;TESTMLC1 ; 1000.0 MB;LIMITS ; 5;Jun 09, 2008 ;mixed log and data ;
;TESTMLC1OE631 ; 1000.0 MB;sa ; 10;Jun 20, 2008 ;mixed log and data ;
;TESTMLC1OE634 ; 1000.0 MB;sa ; 11;Jun 20, 2008 ;mixed log and data ;
;TESTMLC2 ; 1000.0 MB;LIMITS ; 7;Jun 09, 2008 ;mixed log and data ;
;TESTMX1 ; 2036.0 MB;sa ; 4;Jun 09, 2008 ;select into/bulkcopy/pllsort, mixed log and data ;
;TESTMX1_OLD ; 2560.0 MB;sa ; 15;Sep 03, 2008 ;mixed log and data ;
;TESTMX2 ; 2036.0 MB;sa ; 6;Jun 09, 2008 ;mixed log and data ;
;TESTMXOE631 ; 2048.0 MB;sa ; 8;Jun 20, 2008 ;mixed log and data ;
;TESTMXOE634 ; 2048.0 MB;sa ; 9;Jun 20, 2008 ;mixed log and data ;
;master ; 12.0 MB;sa ; 1;Jun 01, 2008 ;mixed log and data ;
;model ; 4.0 MB;sa ; 3;Jun 01, 2008 ;mixed log and data ;
;sybsystemdb ; 5.0 MB;sa ; 31513;Jun 01, 2008 ;mixed log and data ;
;sybsystemprocs ; 132.0 MB;sa ; 31514;Jun 01, 2008 ;trunc log on chkpt, mixed log and data ;
;tempdb ; 2052.0 MB;sa ; 2;Jul 23, 2008 ;select into/bulkcopy/pllsort, trunc log on chkpt, mixed log and data ;
(1 row affected)
(return status = 0)
Leider sind am Anfang von jeder ca. 2ten Zeile Leerzeichen bzw. Leerzeilen.
Wenn ich nun mein Programm darueberlaufen lasse, damit ich nur die Datenbanken zurueckerhalte, dann bekomme ich immer wieder Warnings, weil ja der Leerstring so scheint es auch untersucht wird!
Code:
$string="name ";
$string2="------------------------";
$DIR_SYBASE="/scripts/sybase/db_groesse.txt";
open(datei1, "<$DIR_SYBASE") || die $!;
while(<datei1>) {
@a=split(";",$_);
$stringv=$a[1];
if ( $string eq $stringv || $string2 eq $stringv ) {
next;
}
else {
print "$stringv\n";
}
}
close(datei1);
So sehen die Warnings aus
Name "main::Eintraege" used only once: possible typo at ./testdb.pl line 41.
BACKUPTESTMXOE631
BACKUPTESTMXOE634
TESTDB
TESTMLC1
TESTMLC1OE631
TESTMLC1OE634
TESTMLC2
TESTMX1
TESTMX1_OLD
TESTMX2
TESTMXOE631
TESTMXOE634
master
model
sybsystemdb
sybsystemprocs
tempdb
Use of uninitialized value in string eq at ./testdb.pl line 32, <datei1> line 20.
Use of uninitialized value in string eq at ./testdb.pl line 32, <datei1> line 20.
Use of uninitialized value in concatenation (.) or string at ./testdb.pl line 36, <datei1> line 20.
Use of uninitialized value in string eq at ./testdb.pl line 32, <datei1> line 21.
Use of uninitialized value in string eq at ./testdb.pl line 32, <datei1> line 21.
Use of uninitialized value in concatenation (.) or string at ./testdb.pl line 36, <datei1> line 21.
Use of uninitialized value in string eq at ./testdb.pl line 32, <datei1> line 22.
Use of uninitialized value in string eq at ./testdb.pl line 32, <datei1> line 22.
Use of uninitialized value in concatenation (.) or string at ./testdb.pl line 36, <datei1> line 22.
Ich erhalte zwar die Datenbanken zurueck, aber genauso die Warnings; ich wuerde gerne aber dass das Programm richtig laeuft ohne Warnings.
Weiss jemand vll. wie ich das Programm umschreiben muesste, damit die Leerzeilen/Leerzeichen nicht mehr verglichen werden?
Danke vielmals im vorhinein!