Thread (Message) | Date | Author |
Score |
Board |
Perl subroutine mit mehreren Übergabeparameter-Listen
(#125086) |
2009-08-28 18:58 |
roooot
|
 |
Allgemeines zu Perl |
immer brav bei sowas Referenzen benutzen. Und bei vielen verschiedene Übergabewerten nur bennante Parameter setzen. Das ist gut gegen Verwirrung. |
|
Globale Variable in einer subroutine erschaffen
(#103743) |
2007-12-11 20:12 |
renee
|
 |
Allgemeines zu Perl |
Auch wenn man globale Variablen möglichst vermeiden sollte:
[perl]#!/usr/bin/perl
use strict;
use warnings;
my %global_hash;
sub1();
sub2();
sub sub1{
$global_hash{test} =… |
|
Globale Variable in einer subroutine erschaffen
(#103744) |
2007-12-11 20:21 |
lichtkind
|
 |
Allgemeines zu Perl |
da man ja meist mit use strict programmiert und man so probleme bekommen könnte kannst du ja schreiben wenn du global meinst:
[perl]
%main::variablename;
[/perl]
oder du benutzt our. |
|
Globale Variable in einer subroutine erschaffen
(#103757) |
2007-12-12 11:55 |
guest Gast
|
 |
Allgemeines zu Perl |
ok, ich habe mal versucht es mit einem globalen hash zu machen, wie du gemeint hast, murphy.
allerdings bin ich mir nicht sicher, ob es so überhaupt geht und wie ich dann auf die einzelnen… |
|
Globale Variable in einer subroutine erschaffen
(#103760) |
2007-12-12 12:20 |
renee
|
 |
Allgemeines zu Perl |
*Was* willst Du eigentlich machen? |
|
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… |