zeichen umschreiben mit perl?

Bash, Shell, PHP, Python, Perl, CGI
conym18
Posts: 137
Joined: 2003-01-21 12:41

zeichen umschreiben mit perl?

Post by conym18 »

hallo,

fange grad erst mit perl an.

2 fragen dazu.

undzwar habe ich eine vari die $eins heißst.

in der $eins steht folgendes drin.

$eins="user.meinedomain.de";

wie kann ich jetzt aus dem ERSTEN "." (punkt) ein "@" machen?

ich habe schon mal was von reg_ex gehört, bin aber grad neuanfänger und weiß es dashalb noch nicht.


und die zweite frage:

ich habe ein array (heißt bei mir @datei) und dann gehe ich mit

foreach $zeile(@datei) zeile für zeile durch.

wie kann ich es jetzt aber erreichen, das er nicht bei zeile 0 anfangen soll, sondern bei z.b. zeile 10 ?


danke

conym18
jamesb
Posts: 661
Joined: 2002-05-08 15:35
Location: Karlsruhe

Re: zeichen umschreiben mit perl?

Post by jamesb »

conym18 wrote:undzwar habe ich eine vari die $eins heißst.

in der $eins steht folgendes drin.

$eins="user.meinedomain.de";

wie kann ich jetzt aus dem ERSTEN "." (punkt) ein "@" machen?

ich habe schon mal was von reg_ex gehört, bin aber grad neuanfänger und weiß es dashalb noch nicht.
So vielleicht: s/(.*?).(.*)/$1@$2/
Vielleicht gibt's auch noch ne kürzere Möglichkeit, so firm bin ich bei Reguar Expressions auch noch nicht.

Ne schöne Anleitung/Ã?bersicht über Perl findest du hier: http://selfhtml.teamone.de/cgiperl/index.htm (u.a. auch ne Menge über RegExps)

JamesB
conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: zeichen umschreiben mit perl?

Post by conym18 »

mhmm,

und was muß ich nun machen?

hier mal mein jetztiges script

Code: Select all


#!/usr/bin/perl -w


open FILE, "<datei.txt" or die $!;
@datei = <FILE>;
close FILE;

foreach $zeile(@datei){
#print $zeile;
if($zeile =~ m/([a-zA-Z0-9-.]{3,22}.[a-zA-Z0-9-.]+.[a-zA-Z]com)/){

$test =~ s/(.*?).(.*)/$1@$2/;

}
}

print $1n;
aber er gibt mir nichts aus:

hier mal meine datei.txt

Code: Select all

<br><table border=0 cellpadding=0 cellspacing=2 width=400 align=center><tr><td width=20></td><td width=120></td><td width=120></td><td width=120></td><td width=20></td></tr><tr><td colspan=3 class=bb10> utopia
 <!--&nbsp;<img src="/i/ger/Chat/key.gif" border=0 alt=""> <!--
</td><td class=b8 align=right colspan=2>|<font class=bb8>1</font> user|</td></tr><tr><td colspan=5 bgcolor=#1f1f1f><img src="/i/int/p.gif" width=400 height=1 border=0 alt=""></td></tr> 	<tr><td></td><td><a href="http://Blomma@uboot.com/
" target="_blank"><font color=000000>Blomma</font></a></td><td><a href=" " target="_blank"><font color=000000>   </font></a></td><td><a href=" " target="_blank"><font color=000000>   </font></a></td><td></td></tr>
</table><br><table border=0 cellpadding=0 cellspacing=2 width=400 align=center><tr><td width=20></td><td width=120></td><td width=120></td><td width=120></td><td width=20></td></tr><tr><td colspan=3 class=bb10> underground
 <!--&nbsp;<img src="/i/ger/Chat/key.gif" border=0 alt=""> <!--
</td><td class=b8 align=right colspan=2>|<font class=bb8>3</font> user|</td></tr><tr><td colspan=5 bgcolor=#1f1f1f><img src="/i/int/p.gif" width=400 height=1 border=0 alt=""></td></tr> 	<tr><td></td><td><a href="http://FunkmasterFlex14@uboot.com/
" target="_blank"><font color=000000>FunkmasterFlex14</font></a></td><td><a href="http://user1.test.net/
" target="_blank"><font color=000000>Psychopathologe</font></a></td><td><a href="http://user2.mydomain.ag/
" target="_blank"><font color=000000>Sk8ErGiRl141</font></a></td><td></td></tr>	<tr><td>
hat einer eine ahnung?
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: zeichen umschreiben mit perl?

Post by wgot »

Hallo,
conym18 wrote: wie kann ich jetzt aus dem ERSTEN "." (punkt) ein "@" machen?

Code: Select all

$eins=~s/./@/;
wie kann ich es jetzt aber erreichen, das er nicht bei zeile 0 anfangen soll, sondern bei z.b. zeile 10 ?

Code: Select all

for ($i=10;$i<int(@datei);$i++)
  {
    print "$datei[$i]n";
  }
Gruß, Wolfgang

Hab inzwischen dein Script gesehen, was soll das denn machen?
Last edited by wgot on 2004-02-12 22:24, edited 1 time in total.
conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: zeichen umschreiben mit perl?

Post by conym18 »

hi,

danke schonmal.

muss ich bei $eins=~s/./@/; nicht auch angeben, wie meine alte vari hieß?


danke
conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: zeichen umschreiben mit perl?

Post by conym18 »

hallo,

in dem folgendem text ist ein fehler (schleife)

Code: Select all

for ($i=10;$i<int(@datei);$i++) 
  { 
    print "$_n"; 
  }
kannst du mir sagen wo?

anstatt print "$_n"; habe ich mein script laufen
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: zeichen umschreiben mit perl?

Post by wgot »

Hallo,

der Inhalt von $eins wird bearbeitet und das Ergebnis kommt nach $eins.

Den Fehler in der Schleife hab ich oben korrigiert.

Gruß, Wolfgang