Thread Dateiendung mit RegEx
(5 answers)
Opened by PETER_PAN2009 at 2011-03-28 17:28 2011-03-28T15:28:36 PETER_PAN2009 =~m sucht nach den regulären Ausdruck im geben Text. Im Skalaren Kontext gibt es die Anzahl der Treffer zurück im Listen Kontext gibt es die Matches (alles was in (...) steht) zurück. Gleichwertige Schreibweisen: Code (perl): (dl
)
my $ext=($text=~m/([^.]+)$/)[0]; 2011-03-28T15:28:36 PETER_PAN2009 Nutzt du strict und warnings? dann solltest du eine nützliche Fehlermeldung bekommen. Ich sehe den Fehler aber schon so. Du hat eine Klammer vergessen: Code (perl): (dl
)
my $ext = ($file =~ m{([^.]+)$})[0] || ($file =~ m{.*Logger$})[0]; Wobei ich es so übersichtlicher finde: Code (perl): (dl
)
1 2 my $ext=($file =~ m{([^.]+)$} )[0]; $ext=($file =~ m{.*Logger$})[0] unless($ext); Man muss nicht immer alles in eine Zeile quetschen. |