Thread Split und Speichern oder mit RegEx speichern (9 answers)
Opened by Spider-Mann at 2005-07-23 19:07

coax
 2005-07-24 05:58
#56632 #56632
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=Spider-Mann,23.07.2005, 21:30]Vielen Dank, ich werde Tage brauchen um den Code zu verstehen.[/quote]
vielleicht wird's so einfacher :)
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
while(<DATA>) {
    if( m/ ^ (-?\d+?); (\d{2}-\d{2}-\d{4});         # matcht: '-123; 12-05-2005;'
        (-?\d+?); (\d{2}-\d{2}-\d{4} | yesterday);  # matcht: '-123; 12-05-2005;'
               
               
               
       #    oder 'yesterday;'
        (.+)      &n
bsp;              &n
bsp;              &n
bsp; $ /x ) {

Der Regexp-Modifier '/x' macht's moeglich dass man den Regexp durch das Hinzu-
fuegen von Leerzeichen, Zeilenumbruechen und Kommentaren etwas uebersichtlicher
gestalten kann. );

Code: (dl )
1
2
my $date_b = $4 eq 'yesterday' ? timelocal(0, 0, 0, (localtime)[3 .. 5])
: date2uts( $4 );

Ist das gleiche wie:
Code: (dl )
1
2
3
4
5
6
my $date;
if( $4 eq 'yesterday' ) {
$date_b = timelocal(0, 0, 0, (localtime)[3 .. 5]);
} else {
$date_b = date2uts( $4 );
}


Code: (dl )
1
2
3
4
5
6
7
8
9
10
sub date2uts ( $ ) { # date to unixtimestamp
# wenn erstes Argument auf das Datumsformat zutrifft
if( $_[0] =~ /^(\d{1,2})-(\d{1,2})-(\d{4})$/ ) {
# dann gib Timestamp zurueck
return timelocal( 0, 0, 0,$1, $2 - 1, $3 - 1900 );
} else { # ansonsten Fehler
die "Date string not valid!
";
}
}


Grusz Christian.


Perl-Tags in Code-Tags geƤndert wegen Darstellungsfehlern\n\n

<!--EDIT|renee|1122199571-->
,,Das perlt aber heute wieder...'' -- Dittsche

View full thread Split und Speichern oder mit RegEx speichern