1 2 3 4
# my @time = (Mon,Mar,3,12:24:05,2012); if ($time[2] =~ /[\d]/) { $time[2] = "0$time[2]";}
2012-03-07T03:18:43 AlexanderCode (perl): (dl )1 2 3 4# my @time = (Mon,Mar,3,12:24:05,2012); if ($time[2] =~ /[\d]/) { $time[2] = "0$time[2]";}
1 2
my @time = ('Mon', 'Mar', 3, '12:24:05', 2012); $time[2] = sprintf('%02d', $time[2]);
QuoteAußerdem würde ich auch gerne Werte die ich in einen @array einlese auf eine gewisse Anzahl beschränken, da dann beim Ausdruck auf dem Bildschirm die Liste schöner ist
Da habe ich noch keine Lösung
Ergebnis sollte dann so aussehen, dass das zweite Elemente nur max 8 Elemente vor dem Punkt ausgibt
...
Könnte das klappen oder gibt es eine bessere Lösung?
$filename =~ s/^(.{7})(?=[^.]{2,}.*(\.[^.]+)?$)/$1~$2/;
2012-03-07T13:13:44 Alexander... das mit dem Filenamen kürzen muss ich noch genauer nachlesen bzw. wird es noch dauern bis ich das kapiere
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use warnings; use strict; use File::Basename qw(fileparse); #Beispielnamen my @files = qw(123.txt foo123456789.txt bar123456789.tst.txt); for my $filename (@files) { # Dateinamen zerlegen (an der letzten Extension) my ($name, $dir, $ext) = fileparse($filename, qr/\.[^.]*/); if (length($name) > 8) { $name = substr($name, 0, 7) . '~'; } print "$filename => $name$ext\n"; }
1
2
3
123.txt => 123.txt
foo123456789.txt => foo1234~.txt
bar123456789.tst.txt => bar1234~.txt
2012-03-07T06:29:06 FIFOKürzung des Stringteils vor der Extension (bzw. des Filenames, auch wenn keine Extension da (nicht getestet):
Code (perl): (dl )$filename =~ s/^(.{7})(?=[^.]{2,}.*(\.[^.]+)?$)/$1~$2/;
1 2 3 4 5 6
if ($name =~ /\./) { $name =~ s|^ (.{7}) .{2,} (\.[^.]*) $|$1~$2|x; } else { $name =~ s|^ (.{7}) .{2,} $|$1~|x; }
2012-03-07T03:18:43 Alexander
if ($time[2] < 10) {
2012-03-07T09:43:09 GUIfreundAber nimm lieber den Kode von Bianca.
1 2 3 4
my @time = (Mon,Mar,3,12:24:05,2012); if ($time[2] < 10 { $time[2] = "0$time[2]"; }