10. november 2005 - 22:26Der er
2 kommentarer og 1 løsning
strings 101
Det virker måske noget banalt, men nedenstående driller lidt.
Jeg får en linie, fra f.eks. en fil.. Disse linier kan indeholde mange forskellige karakterer.
Hvordan escaper jeg dem ud, så nedenstående kode ville virke. og der ikke forsvinder karakterer. Jeg har kigget på qq, qw, qx, men synes ikke lige jeg kan gennemskue hvordan det skal gøres.
Opnå den bedste ydeevne med din computer, og overtag føringen i de nyeste spil uden at gå over budgettet.
30. oktober 2024
Slettet bruger
11. november 2005 - 06:35#1
#!/usr/bin/perl -w
use warnings; use strict;
my $line = "<1234.ABC/AA3057@abc.def>"; my $var;
if ($line =~ m/\<(.*)\>/i) { $var = $1;
} print $var;
Her fejler linie 6 [my $line = "<1234.ABC/AA3057@abc.def>";] fordi den compileren tror den den skal lave string-interpolation på @abc så derfor kan den køre hvis du enten
1) Escaper stringen (retteligt @) sådan her
my $line = "<1234.ABC/AA3057\@abc.def>";
2) Bruger single quotes som ikke interpolerer stringen
my $line = '<1234.ABC/AA3057@abc.def>';
Hvis du læser en sådan string fra en fil burde der ikke være det problem.
Jeps.. har fået det til at virke... viste sig at være fordi at jeg forsøgte at skrive en fil med en "ulovlig" sammensætning af karakterer i filnavnet... ://
Opretter du svar så accepterer jeg dit svar..
Synes godt om
Slettet bruger
11. november 2005 - 12:56#3
svar ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.