Thread Zugriff auf Dateien im Ordner public bei Mojolicious::Lite bzw. Dancer2 (20 answers)
Opened by Max_Perlbeginner at 2016-04-04 07:59

renee
 2016-04-05 09:23
#184367 #184367
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
2016-04-04T22:33:26 Max_Perlbeginner
Code: (dl )
	open FH, $filename or die "Can't open '$filename': $!";


Bitte gewöhne Dir lexikalische Filehandles an (das Wiki ist leider nicht erreichbar, da gab/gibt es einen längeren Artikel mit der Begründung) und das 3-Argumente-open an.

Also
Code: (dl )
open my $fh, '<', $filename or die ...


Das 3-Argumente-open ist sicherer, weil es die Richtung der Operation (lesend, schreiben, ...) fest angibt und weil Leerzeichen nicht wegrationalisiert werden ;-)

Probier in Deinem Code mal folgende Dateinamen aus:
Code: (dl )
1
2
> /tmp/hallo.txt
test_mit_leerzeichen_als erstes.txt


2016-04-04T22:33:26 Max_Perlbeginner
Das Sonderzeichen Problem habe ich nun mit diesem noch nicht 100% zufriedenstellenden Workaround gelöst. Falls jemand eine bessere Idee hat bzw. die Funktion noch um weitere Sonderzeichen zu ergänzen ist, bin ich weiterhin für eine Hilfestellung dankbar.

Code: (dl )
1
2
3
sub sonderzeichen {

}


Schau Dir auch mal HTML::Entities und HTML::Escape an...

Wenn die Dateien UTF-8 kodiert vorliegen, kannst schon gleich beim Lesen entsprechend damit umgehen:

Code: (dl )
open my $fh, '<:encoding(utf-8)', $filename or die ...
(noch so ein Vorteil der 3-Argumente-Form.
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/

View full thread Zugriff auf Dateien im Ordner public bei Mojolicious::Lite bzw. Dancer2