Slozitejsi nahrazovani retezcu

Ondrej Koala Vacha koala na fi.muni.cz
Pátek Leden 25 14:10:18 CET 2002


On 25 Jan 2002, Pavel Lisy wrote:

> Potom jsem se to zkoušel přepsat do perlu, ale nevím, jak docílit toho,
> že se mi nahrazující řetězec napřed zpracuje mojí funkcí:
>
> -------
> sub correctdate () {
>    local $rok=$1;
>    local $mes=$2;
>    local $den=$3;
>    print "$den:$mes:$rok"
> }
>
> open(INFILE,"data.sql");
> open(OUTFILE,">data.out");
>
> while ( defined($line=<INFILE>) ) {
>    $line =~ s/(\d{4})-(\d{2})-(\d{2})/&correctdate($1:$2:$3)/;
>    print OUTFILE $line;
> }
> close(OUTFILE);
> close(INFILE);
> ---------
>
> Uvítám každý pokus :-)
>


while ( defined($line=<>) ) {
   $line =~ s/(\d{4})-(\d{2})-(\d{2})/correctdate($1,$2,$3)/e;
   print $line;
}

sub correctdate () {
	my ($rok,$mes,$den) = @_;
	return "$den:$mes:$rok";
}



-- 
Ondrej Koala Vacha



Další informace o konferenci Linux