Schrift
[thread]12207[/thread]

.txt und Arrays (Seite 3)

Leser: 2


<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten
renee
 2008-07-22 13:30
#112434 #112434
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@betterworld: Das Problem ist gefixt. Neue Version stelle ich heute nachmittag ins CPAN. Danke für das Feedback.
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/
renee
 2008-07-22 13:36
#112435 #112435
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
betterworld+2008-07-21 23:01:26--
[...] Das liegt wohl daran, dass der Parser das Konstrukt behandelt, als stuende es in einer einzigen Zeile. Jedenfalls in perl 5.8.8, vielleicht hat sich das in 5.10 ja geaendert.


Nein, das hat sich nicht geändert und wird sich vermutlich nicht ändern. Es wir nur für jedes "nextstate" die Zeilennummer gespeichert. Da die Definition des Hashs nur ein Statement ist, wird das als eine Zeile behandelt. Stehen zwei Statements in einer Zeile, wird zwei Mal das "nextstate" mit der Zeilennummer ausgegeben:

Hauptprogramm:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
sub dummy {}
sub foo {}


my %hash = (
dummy => &dummy(),
foo => foo(),
);

dummy(); &foo();


Ausgabe von B::Concise:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
rbaecker@www-devel-rbaecker ~/perl510/perl-5.10.0 $ ./perl -Ilib -MO=Concise,-exec ~/sub_called.pl
1 <0> enter
2 <;> nextstate(main 3 sub_called.pl:5) v:{
3 <0> pushmark s
4 <$> const(PV "dummy") s/BARE
5 <0> pushmark s
6 <$> gv(*dummy) s
7 <1> entersub[t2] lKS/TARG,AMPER,1
8 <$> const(PV "foo") s/BARE
9 <0> pushmark s
a <$> gv(*foo) s
b <1> entersub[t3] lKS/TARG,1
c <0> pushmark s
d <0> padhv[%hash:3,4] lRM*/LVINTRO
e <2> aassign[t4] vKS/COMMON
f <;> nextstate(main 4 sub_called.pl:10) v:{
g <0> pushmark s
h <$> gv(*dummy) s
i <1> entersub[t5] vKS/TARG,1
j <;> nextstate(main 4 sub_called.pl:10) v:{
k <0> pushmark s
l <$> gv(*foo) s
m <1> entersub[t6] vKS/TARG,AMPER,1
n <@> leave[1 ref] vKP/REFC
/home/rbaecker/sub_called.pl syntax OK
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/
betterworld
 2008-07-22 20:06
#112445 #112445
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
renee: ich bin schon gespannt auf den Fix ;)

Mir ist noch was aufgefallen: Wenn strict nicht verwendet wird, liefert with_ampersand immer 0.
Das kann man beheben, wenn man in Deinem Modul $priv == 43 ersetzt durch $priv & 8. (8 ist OPpENTERSUB_AMPER, die anderen Bits sind wohl egal fuer diesen Zweck.)
renee
 2008-07-22 20:26
#112448 #112448
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
betterworld: danke, das habe ich heute morgen auch schon gemerkt und ist im Fix schon mit drin... (wusste aber nicht, dass das mit strict zusammenhängt)

Ich lade es in wenigen Minuten hoch (dauert dann halt ein wenig, bis es verfügbar ist).
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/
renee
 2008-07-22 23:32
#112463 #112463
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich habe es eben erst hochgeladen, weil es noch Probleme zwischen Threaded- und Non-Threaded-Perl gab. Die Aufgabe ist wirklich komplex, aber das ist eine gute Übung für mich, noch tiefer in die Internas zu schauen...
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 3 >| >> 25 Einträge, 3 Seiten



View all threads created 2008-07-20 21:30.