| Thread (Message) | Date | Author |
Score |
Board |
| Tk::Error: Wide character in subroutine entry
(#97372) |
2007-08-03 02:13 |
ptk
|
 |
Graphische Oberflächen |
| Du kannst Encode::encode mit dem richtigen CHECK-Flag verwenden. Das sieht sowieso sympathischer aus als utf8::downgrade.
Ein wide character ist ein Zeichen > chr(255). |
|
| subroutinen für Hashes und Arrays definieren
(#187583) |
2017-10-21 18:17 |
hlubenow
|
 |
Allgemeines zu Perl |
| [quote="rosti@2017-10-20T23:59:55"]Darum gehts ja auch gar nicht. Vielmehr gehts darum, abstrakte Datentypen in Instanzen abzubilden und diesbezügliche Berechnungen zu eigenen Methoden zu machen. |
|
| Perl subroutine mit mehreren Übergabeparameter-Listen
(#125078) |
2009-08-28 16:46 |
guest wer
|
 |
Allgemeines zu Perl |
| … geht nur über Referenzen:
Beispiel:
[code=perl]my %x=(a=>1,b=>2,c=>3);
my @y=(1,2,3);
sub func
{
my $ref_hash_x=shift(@_);
my $ref_array_y=shift(@_);
my %hash_x=%{$ref_hash_x}… |
|
| 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] |