Jemand zu Hause?Leser: 23
my ($text,$endung) = $file =~ m/^(.*)\.(.*?)$/;
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problemperl -wle 'my $str="foo.bar.lulz.exe"; my @res=split /\./, $str; print @res[0,-1]'
File::Basename arbeiten?perl -MFile::Basename -e 'my ($file,$path,$suffix) = fileparse( "./hackday.txt", qr/\..*?\z/ ); print "$path -> $file -> $suffix\n" '
File::BaseName ist natuerlich der Koenigsweg. Wieso bin ich darauf nicht schon frueher gekommen? ;-)
2010-11-14T11:24:37 reneeWarum nicht mitFile::Basename arbeiten?
1 2 3 4 5 6 7
my $file = 'Perl.TEST.exe'; my ($text,$endung)=($file,''); if(my $pos=rindex($text,'.')) { $endung=substr($text,$pos,(length($text)-$pos),'');} print "$text , $endung\n";
File::Basename selbst implementiert ist. Vielleicht ist das ja sogar schneller als die Eigenimplementierung. Somit ist b auf jeden Fall zweifelhaft. :-)