Thread Regex - Exakten String ersetzen
(6 answers)
Opened by YAPD at 2021-04-18 18:02
Haller,
die Extraktion der letzten Sub aus den gesplitteten caller ist etwas verunglücket. Code: (dl
)
my $LH_Caller = ( split( /::/ , ( caller( 1 ) )[ 3 ] ) )[ -1 ]; Der Ausdruck split( /::/ , ( caller( 1 ) )[ 3 ] liefert bereits einen einzelnen String. ( $String )[-1] liefert den letzten Wert der Liste zurück also $String. Das ()[-1] kann man sich also sparen. [ 3 ] liefert den vierten Wert einer Liste zurück. Gewünscht ist aber anscheinend der letzte Wert. Die richtige Lösung lautet also: Code: (dl
)
my $LH_Caller = (split( /::/ , ( caller( 1 ) )[ -1 ]; Schöner ist vielleicht: Code: (dl
)
my ($LH_Caller) = reverse split /::/, caller(1); |