| Thread (Message) | Date | Author |
Score |
Board |
| Globale Variable in einer subroutine erschaffen
(#103765) |
2007-12-12 12:52 |
renee
|
 |
Allgemeines zu Perl |
| (kein richtiger Perl-Code, sondern nur angedeutet)[code]#!/usr/bin/perl
use strict;
use warnings;
my %hash = start_all_programs();
print $hash{pc1}->{program};
sub start_all_programs{… |
|
| Globale Variable in einer subroutine erschaffen
(#103796) |
2007-12-12 19:27 |
murphy
|
 |
Allgemeines zu Perl |
| [quote="Gast+2007-12-12 11:34:10--"]
nunja, ich möchte über das netzwerk programme auf anderen pcs starten und dann für jedes gestartete programm eine datenstruktur anlegen,
in der ich… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#99990) |
2007-09-25 23:57 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Folgender String:
[code]
[BILD:test.gif PARAMETER1:wert PARAMETER2:wert]
[/code]
Nun möchte ich daraus folgendes machen:
<img src="test.gif" PARAMETER1="wert" PARAMETER2="wert">
usw. |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#99997) |
2007-09-26 08:40 |
esskar
|
 |
Allgemeines zu Perl |
| [code]
my @values = $string =~ m!\[(([\w]+)\s*:\s*([\w\d\.]+))+\]!g;
&bild(@values) if scalar @values;
[/code]
(ungetest) |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100028) |
2007-09-26 22:08 |
Froschpopo
|
 |
Allgemeines zu Perl |
| habs getestet:
[code]
#!/usr/bin/perl
use strict;
my $string = "Das ist Martin: [BILD=martin.gif]";
my @values = $string =~ m!\[(([\w]+)\s*=\s*([\w\d.]+))+\]!g;
&parse(@values) if… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100029) |
2007-09-26 22:12 |
topeg
|
 |
Allgemeines zu Perl |
| ändere es mal so:
[perl]my @values = $string =~ m!\[(?:(\w+?)\s*=\s*(.+?)\s*)+\]!gs;[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100030) |
2007-09-26 22:18 |
Froschpopo
|
 |
Allgemeines zu Perl |
| [code]
#!/usr/bin/perl
use strict;
my $string = "Das ist Martin: [BILD=martin.gif NAME=test NAME2=hallo]";
my @values = $string =~ m!\[(?:(\w+?)\s*=\s*(.+?)\s*)+\]!gs;
&parse(@values) if… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100033) |
2007-09-26 22:30 |
topeg
|
 |
Allgemeines zu Perl |
| Dann versuchen wir es mal so:
[perl]my @values = split(/\s*=\s*|\s+/, ($string =~ m!\[(.+?)\]!s)[0]);[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100034) |
2007-09-26 22:32 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Sehr schick!! Jetzt funktioniert es! Du bist ein wahrer Könner ;)
Jetzt noch eine Kleinigkeit:
Ich möchte gern Leerzeichen, etwa bei einer Description einsetzen können:
[code]… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100037) |
2007-09-26 22:54 |
topeg
|
 |
Allgemeines zu Perl |
| Na dann halt so. :-)
[perl]my @values = map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/, ($string =~ m!\[(.+?)\]!s)[0]);[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100039) |
2007-09-26 23:02 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Super, funktioniert auch.
Aber nun eine neue Problematik:
[code]
#!/usr/bin/perl
use strict;
my $string = 'Das ist Martin: [BILD=martin.gif NAME="asd ass as" NAME2=hallo]';
my @values =… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100041) |
2007-09-26 23:11 |
topeg
|
 |
Allgemeines zu Perl |
| so:
[perl]$string=~s!\[(.+?)\]!parse(map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/,$1))!gse;[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100043) |
2007-09-26 23:24 |
Froschpopo
|
 |
Allgemeines zu Perl |
| [code]
#!/usr/bin/perl
use strict;
my $string = 'Das ist Martin: [BILD=martin.gif NAME="asd ass as" NAME2=hallo]';
$string =… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100044) |
2007-09-26 23:42 |
topeg
|
 |
Allgemeines zu Perl |
| Ein Leerzeichen zu viel. So:
[code]$string =~s![/code]
nicht so;
[code]$string = ~s![/code] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100045) |
2007-09-27 00:19 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Super!
Weiter gehts:
[code]
my $string = 'Das ist Martin: [LINK="http://www.test.de" TARGET=_blank]klick hier[/LINK]';
[/code]
Nun haben wir einmal wie gehabt die Parameter im öffnenden Tag… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100046) |
2007-09-27 00:48 |
topeg
|
 |
Allgemeines zu Perl |
| … du sowas?
[code]#!/usr/bin/perl
use strict;
use warnings;
sub parse_link {
# $_=~s/^['"]|["']$//gs for(@_);
my %params = @_;
print "$_ = ".$params{$_}."\n" for keys %params… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100047) |
2007-09-27 01:03 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Aber der Code parst ja jetzt wieder NUR den Link.
Ich habe nach wie vor auch noch StandAlone-Tags, wie z.b. <img>. |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100049) |
2007-09-27 07:49 |
topeg
|
 |
Allgemeines zu Perl |
| achso.
Du willst sowas:
[code]#!/usr/bin/perl
use strict;
use warnings;
sub parse {
my %params = @_;
print "$_ = ".$params{$_}."\n" for keys %params; print "#####\n"… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100095) |
2007-09-28 06:19 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Das ist sehr sehr gut und funktioniert sogar!
Aber jetzt habe ich noch letztes Problem mit folgenden Alleinstehenden-Tags:
[code]
[ZITAT]Dies ist ein Zitat[/ZITAT]
oder:
[HEADLINE]Dies ist… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100152) |
2007-09-28 23:56 |
topeg
|
 |
Allgemeines zu Perl |
| … sollte Funktionieren:
[code]#!/usr/bin/perl
use strict;
use warnings;
sub parse
{
my %params = @_;
# my @l=@_; print join('|',@l)."\n----\n";
print "$_ = ".$params{$_}."\n" for keys… |