Schrift
[thread]9098[/thread]

suchen und löschen im array

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
bieber
 2007-06-18 18:03
#77619 #77619
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
folgendes Problem:

ich lese eine Datei in ein array ein, und lasse sie nach tabulatoren
trennen und Zeilenweise ausgeben, wobei Kommentarzeilen übergangen werden sollen:

Code: (dl )
1
2
3
4
5
6
open(F,'backup.ctrl') or die("Error:$!\n");
while(<F>) {
chomp; @F = split /\t/;
next if substr ($F[0],0,1) eq '#';
print @F;
}


nun zu meinen Problem:
in der Datei gibt es mehrere "tabulatoren" hintereinander, aber nicht immer!
sprich wenn 2 tabs hintereinander sind wird ein neues arrayelement angelegt, ich will aber nur die reinen "Texte" um später immer über den gleichen Index aufs richtige Element zugreifen zu können, habe schon einige grep befehle und schleifen probiert um unnötige Elemente zu löschen, aber ich bin offensichtlich einfach nur dumm....

hier noch 2 Beispielzeilen aus dem Dokument

test INKREMENTELL DATABASE *.*.*.Mo.23.00 mo_test
test FULL DATABASE *.*.*.Sa.23.00 sa_test

nach dem Full kommen z.b. zwei tabs beim inkrementell nur einer
kann mir jm. helfen?! ist sicherlich nur eine Zeile, aber naja.....\n\n

<!--EDIT|bieber|1182177304-->
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
bloonix
 2007-06-18 18:21
#77620 #77620
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
\t+

statt
Code: (dl )
\t


Edit: bitte benutze Code-Tags für deinen Code, das macht ihn leserlicher
und Smilies verschwinden zum Beispiel :)\n\n

<!--EDIT|opi|1182176809-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bieber
 2007-06-18 18:39
#77621 #77621
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
boah, ich hätte gleich hier fragen sollen....

viele dank, hätte ich eigentlich selbst drauf kommen können...
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
bloonix
 2007-06-18 18:45
#77622 #77622
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=bieber,18.06.2007, 16:39]boah, ich hätte gleich hier fragen sollen....[/quote]
WELCOME to the Perl-Community! ;)

[quote=bieber,18.06.2007, 16:39]viele dank, hätte ich eigentlich selbst drauf kommen können...[/quote]
Naja, vergesslich sind wir alle mal... die Hauptsache ist, dass du den
Unterschied von \t und \t+ verstanden hast! Wenn nicht, bekommste
nen Tutorial von mir um die Ohren gehauen. =)\n\n

<!--EDIT|opi|1182177951-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bloonix
 2007-06-18 18:51
#77623 #77623
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
bzgl open(F ... bitte hier mal rein Schnuppern:

... Und warum while(<FH>) gefährlich ist

Etwas weiter im Thread wird das Thema besprochen.

Gibts hierzu eigentlich einen Wiki-Artikel?\n\n

<!--EDIT|opi|1182178333-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
ptk
 2007-06-19 01:15
#77624 #77624
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Zum Glück gibt es ab perl5.9.5
Code: (dl )
my $_
.
bieber
 2007-06-19 10:01
#77625 #77625
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
jupp, klar verstehe ich den Unterschied bei der Verwendung von "+"

und naja dieser bug.... ich nutze $_ bis jetz nur um durch schleifen zu laufen^^
beim studium lernen wie c++ da gibts sowas einfach nicht, wird ne weile dauern eh ich mich an die ganzen hardcoregeilen Möglichkeiten in Perl gewöhnt habe, was mit den ganzen regular expression geht, ist wirklich unglaublich

aber ich werds mir merken mit dem bug ;)
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
bloonix
 2007-06-19 12:29
#77626 #77626
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=bieber,19.06.2007, 08:01]... hardcoregeilen Möglichkeiten in Perl ...[/quote]
Könnten wir diesen Spruch irgendwo einrahmen, damit er nicht in
Vergessenheit gerät? :)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bieber
 2007-06-20 11:54
#77627 #77627
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
^^ nur zu,

hab schon wieder ein Problem, komme mir langsam dämlich vor...

Code: (dl )
($jahr,$monat,$tag,$wochentag,$stunden,$minuten) = split "." , $work[3];


hab mal spaßeshalber das gleiche mithilfe von index und substr versucht, das funktioniert, aber wer will schon 15 Zeilen wenns auch in einer gehen kann

Code: (dl )
1
2
3
4
$p1= index  $work[3],".";
$jahr = substr ( $work[3], 0, $p1);
...
$minuten = substr ( $work[3], $p5+1 );


eigentlich sollte es doch die richtige syntax sein oder nicht?
und $work[3] hat als Wert *.*.*.Sa.23.00

ich arbeite ersmal mit index-substr Lösung weiter, wäre aber schön wenn mir jm. sagen könnte was ich falsch mache
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.
renee
 2007-06-20 12:08
#77628 #77628
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mach ein split /\./ , $work[3];, dann sollte es funktionieren...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2007-06-18 18:03.