Schrift
[thread]12173[/thread]

Regexp: Ersetzungsausdruck mitbenutzen (Seite 3)

Leser: 2


<< |< 1 2 3 >| >> 26 Einträge, 3 Seiten
Gast Gast
 2008-07-14 01:14
#112071 #112071
Oh stimmt, hatter, und mir fällt jetzt erst auf das er da ne closure stehen hat...

Naja, bei mir funktioniert die angegebene Funktion, aber den 3. Parameter braucht man doch, hätte mir wohl nen bissl mehr Zeit für den Post nehmen solln...

@KurtZ: Ich hab hier bei mir Perl 5.8.8, mit welcher Version hastes denn bei dir getestet?

MfG
R-o-l-f
 2008-07-14 01:23
#112074 #112074
User since
2008-07-09
4 Artikel
BenutzerIn
[default_avatar]
strict und warnings fördern zutage:

main::episode() called too early to check prototype at tst.pl line 16.

wenn man die sub inkl. Prototype voranstellt klappts auch!
Gast Gast
 2008-07-14 01:24
#112075 #112075
Ich hab noch mal mit caller rumgespielt, und folgendes klappt bei mir prima, es funktioniert nur nicht, wenn man die sub 2x in der selben Zeile verwendet.
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
26
#!/usr/bin/perl

use strict;
use warnings;

{
my %flipflop;
sub episode ($$)
{
my( $start, $end ) = @_;

my $id = join( '.', (caller)[0..2] );

( $flipflop{$id} = 1 ) if $start;
my $return = $flipflop{$id} ;
( $flipflop{$id} = 0 ) if $end;

return $return;
} # episode
}

for (qw/ ich du er sie es wir ihr sie /)
{
print "$_ " if episode( /ich/, /er/ );
print "$_ " if episode( /er/, /es/ );
} # for

MfG
R-o-l-f
 2008-07-14 01:29
#112076 #112076
User since
2008-07-09
4 Artikel
BenutzerIn
[default_avatar]
Daran hab ich auch gedacht, aber ob das mit der Zeilennummer immer so robust ist ???
Gast Gast
 2008-07-14 01:37
#112078 #112078
Es sind ja auch noch package und Dateiname mit dabei.
Ich jedenfalls hab noch in keinem Code den Flipflop 2x in der selben Zeile gesehen ;)
Trotzdem gefällt mir die Lösung auch noch nicht ganz so gut, irgendwie muss es doch möglich sein den genauen Aufruf ausfinig zu machen...
caller(0) hilft jedenfalls auch nicht weiter, ich hab die Ausgabe mal durch den Dumper() gejagt und verglichen, die Rückgabewerte sind bei einem 2 fachen Aufruf der epiisode() Funktion in einer Zeile leider identisch.

MfG
KurtZ
 2008-07-14 14:50
#112094 #112094
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
R-o-l-f+2008-07-13 23:23:48--
strict und warnings fördern zutage:

Ups ... Danke! : )
TMTOWTDYOG (there's more than one way to dig your own grave)
<< |< 1 2 3 >| >> 26 Einträge, 3 Seiten



View all threads created 2008-07-12 21:22.