🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
9 messages
9 total messages Started by Nitro Wed, 03 Nov 2004 09:47
Perl
#1898
Author: Nitro
Date: Wed, 03 Nov 2004 09:47
10 lines
1267 bytes
Hoe kan ik in perl \r\n achter een string uithalen?

Ik heb dit geprobeerd met een regular expression, maar dit blijkt niet zo
goed te gaan.

my $test = $in =~ m/(.*)\\r\\n/;

Dit zou toch alles voor de \r\n moeten teruggeven?

Nitro
Re: Perl
#1899
Author: Philip Paeps
Date: Wed, 03 Nov 2004 09:57
23 lines
1509 bytes
Nitro <nitroglycerine@skynet.be> wrote:
> Hoe kan ik in perl \r\n achter een string uithalen?

m/\r\n$/m?

> Ik heb dit geprobeerd met een regular expression, maar dit blijkt niet zo
> goed te gaan.
> 
> my $test = $in =~ m/(.*)\\r\\n/;

Waarom \\r\\n?

> Dit zou toch alles voor de \r\n moeten teruggeven?

Sure.  Maar is het niet makkelijker om gewoon je string te choppen?

 - Philip

-- 
Philip Paeps                              Please don't email any replies
philip@paeps.cx                               I follow the newsgroup.

  The sun goes down just when you need it the most.
Re: Perl
#1900
Author: Tim Van Wassenhove
Date: Wed, 03 Nov 2004 14:19
8 lines
766 bytes
In article <pan.2004.11.03.09.47.35.710803@skynet.be>, Nitro wrote:
> Hoe kan ik in perl \r\n achter een string uithalen?

chop, chomp

-- 
Met vriendelijke groeten,
Tim Van Wassenhove <http://www.timvw.info>
Re: Perl
#1901
Author: Nitro
Date: Wed, 03 Nov 2004 14:59
21 lines
1621 bytes
On Wed, 03 Nov 2004 09:57:35 +0000, Philip Paeps wrote:

> Nitro <nitroglycerine@skynet.be> wrote:
>> Hoe kan ik in perl \r\n achter een string uithalen?
> 
> m/\r\n$/m?
> 
>> Ik heb dit geprobeerd met een regular expression, maar dit blijkt niet zo
>> goed te gaan.
>> 
>> my $test = $in =~ m/(.*)\\r\\n/;
> 
> Waarom \\r\\n?
> 
>> Dit zou toch alles voor de \r\n moeten teruggeven?
> 
> Sure.  Maar is het niet makkelijker om gewoon je string te choppen?
> 
>  - Philip

IDD Chop, chop deed het merci
Re: Perl
#1902
Author: John Bokma
Date: Wed, 03 Nov 2004 16:55
34 lines
1743 bytes
Nitro wrote:

> On Wed, 03 Nov 2004 09:57:35 +0000, Philip Paeps wrote:
> 
>> Nitro <nitroglycerine@skynet.be> wrote:
>>> Hoe kan ik in perl \r\n achter een string uithalen?
>> 
>> m/\r\n$/m?
>> 
>>> Ik heb dit geprobeerd met een regular expression, maar dit blijkt
>>> niet zo goed te gaan.
>>> 
>>> my $test = $in =~ m/(.*)\\r\\n/;
>> 
>> Waarom \\r\\n?
>> 
>>> Dit zou toch alles voor de \r\n moeten teruggeven?
>> 
>> Sure.  Maar is het niet makkelijker om gewoon je string te choppen?
>> 
>>  - Philip
> 
> IDD Chop, chop deed het merci

Gebruik *geen* chop, maar chomp

perldoc -f chop
perldoc -f chomp

-- 
John Bokma
                 Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar:  http://castleamber.com/
Tevreden opdrachtgevers:     http://castleamber.com/testimonials.html
Re: Perl
#1903
Author: Nitro
Date: Wed, 03 Nov 2004 19:54
34 lines
1951 bytes
On Wed, 03 Nov 2004 16:55:55 +0000, John Bokma wrote:

> Nitro wrote:
> 
>> On Wed, 03 Nov 2004 09:57:35 +0000, Philip Paeps wrote:
>> 
>>> Nitro <nitroglycerine@skynet.be> wrote:
>>>> Hoe kan ik in perl \r\n achter een string uithalen?
>>> 
>>> m/\r\n$/m?
>>> 
>>>> Ik heb dit geprobeerd met een regular expression, maar dit blijkt
>>>> niet zo goed te gaan.
>>>> 
>>>> my $test = $in =~ m/(.*)\\r\\n/;
>>> 
>>> Waarom \\r\\n?
>>> 
>>>> Dit zou toch alles voor de \r\n moeten teruggeven?
>>> 
>>> Sure.  Maar is het niet makkelijker om gewoon je string te choppen?
>>> 
>>>  - Philip
>> 
>> IDD Chop, chop deed het merci
> 
> Gebruik *geen* chop, maar chomp
> 
> perldoc -f chop
> perldoc -f chomp

haalt chomp ook de \r eraf?

Nitro
Re: Perl
#1905
Author: John Bokma
Date: Wed, 03 Nov 2004 21:55
53 lines
2418 bytes
Nitro wrote:

> On Wed, 03 Nov 2004 16:55:55 +0000, John Bokma wrote:
> 
>> Nitro wrote:
>> 
>>> On Wed, 03 Nov 2004 09:57:35 +0000, Philip Paeps wrote:
>>> 
>>>> Nitro <nitroglycerine@skynet.be> wrote:
>>>>> Hoe kan ik in perl \r\n achter een string uithalen?
>>>> 
>>>> m/\r\n$/m?
>>>> 
>>>>> Ik heb dit geprobeerd met een regular expression, maar dit blijkt
>>>>> niet zo goed te gaan.
>>>>> 
>>>>> my $test = $in =~ m/(.*)\\r\\n/;
>>>> 
>>>> Waarom \\r\\n?
>>>> 
>>>>> Dit zou toch alles voor de \r\n moeten teruggeven?
>>>> 
>>>> Sure.  Maar is het niet makkelijker om gewoon je string te choppen?
>>>> 
>>>>  - Philip
>>> 
>>> IDD Chop, chop deed het merci
>> 
>> Gebruik *geen* chop, maar chomp
>> 
>> perldoc -f chop
>> perldoc -f chomp
> 
> haalt chomp ook de \r eraf?

Hangt van het platform af :-) Als chop werkt, doet chomp dat zeker ook, 
maar chomp heeft de voorkeur als het gaat om newline weg te halen.

chop -> haalt het *laatste teken" weg, dus dat hoeft niet per se
        een einde regel te zijn.

chomp -> haalt een newline[1] weg, als die er is.

chomp is altijd te verkiezen boven chop als het gaat om de newline weg 
te halen.

[1] dit is default gedrag.

-- 
John Bokma
                 Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar:  http://castleamber.com/
Tevreden opdrachtgevers:     http://castleamber.com/testimonials.html
Re: Perl
#1908
Author: Philip Paeps
Date: Thu, 04 Nov 2004 07:16
42 lines
2624 bytes
John Bokma <postmaster@castleamber.com> wrote:
> Nitro wrote:
> > On Wed, 03 Nov 2004 16:55:55 +0000, John Bokma wrote:
> > > Nitro wrote:
> > > > On Wed, 03 Nov 2004 09:57:35 +0000, Philip Paeps wrote:
> > > > > Sure.  Maar is het niet makkelijker om gewoon je string te choppen?
> > > > 
> > > > IDD Chop, chop deed het merci
> > > 
> > > Gebruik *geen* chop, maar chomp
> > 
> > haalt chomp ook de \r eraf?
> 
> Hangt van het platform af :-)

Precies daarom stelde ik chop voor en niet chomp.  Het is een beetje minder
veilig als je de data die je erin pompt niet in de gaten houdt, maar je bent
wel zeker dat er effectief het laatste karakter afgaat.

> chomp -> haalt een newline[1] weg, als die er is.

s/newline/end of line/, sommige bizarre platformen vinden het nodig om \r\n
als EOL te gebruiken, andere bijna even bizarre platformen gebruiken \r, en
dan zijn er nog een paar really really weird systems die nog iets compleet
anders gebruiken.

Daarom hou ik ook meer van het C paradigma van \0-terminated character arrays.
Iets meer nadenken, maar geen verrassingen bij het porten naar weirdo systemen
met vreemde idee�n over EOL :-)

> chomp is altijd te verkiezen boven chop als het gaat om de newline weg te
> halen.

Daar ben ik het mee eens.

 - Philip

-- 
Philip Paeps                              Please don't email any replies
philip@paeps.cx                               I follow the newsgroup.

  The other line moves faster.
Re: Perl
#1913
Author: John Bokma
Date: Thu, 04 Nov 2004 16:30
65 lines
3339 bytes
Philip Paeps wrote:

> John Bokma <postmaster@castleamber.com> wrote:
>> Nitro wrote:
>> > On Wed, 03 Nov 2004 16:55:55 +0000, John Bokma wrote:
>> > > Nitro wrote:
>> > > > On Wed, 03 Nov 2004 09:57:35 +0000, Philip Paeps wrote:
>> > > > > Sure.  Maar is het niet makkelijker om gewoon je string te
>> > > > > choppen? 
>> > > > 
>> > > > IDD Chop, chop deed het merci
>> > > 
>> > > Gebruik *geen* chop, maar chomp
>> > 
>> > haalt chomp ook de \r eraf?
>> 
>> Hangt van het platform af :-)
> 
> Precies daarom stelde ik chop voor en niet chomp.

Maar die haalt alleen het *laatste* teken er af. Dus als er een einde 
regel teken is, werkt chop gelijk aan chomp, maar als dat er niet is, 
doet chop iets vervelender, het haalt het *laatste* teken weg...

> Het is een beetje
> minder veilig als je de data die je erin pompt niet in de gaten houdt,
> maar je bent wel zeker dat er effectief het laatste karakter afgaat.

Yup, en als er dus geen einde regel teken is, mis je een belangrijk 
teken.... chop gewoon niet gebruiken.

>> chomp -> haalt een newline[1] weg, als die er is.
> 
> s/newline/end of line/, sommige bizarre platformen vinden het nodig om
> \r\n als EOL te gebruiken, andere bijna even bizarre platformen
> gebruiken \r, en dan zijn er nog een paar really really weird systems
> die nog iets compleet anders gebruiken.

En Perl doet het goed als de bestanden op hetzelfde platform aangemaakt 
zijn.

> Daarom hou ik ook meer van het C paradigma van \0-terminated character
> arrays.

Huh? Oh, maar dat is hoe het intern wordt opgeslagen. Bij Perl *hoef* je 
daar gelukkig normaal geen rekening mee te houden ;-)

> Iets meer nadenken, maar geen verrassingen bij het porten naar
> weirdo systemen met vreemde idee�n over EOL :-)

Zodra je met tekst aan de slag gaat in combinatie met C zal je zeer 
zeker wel rekening met de diverse einde regel tekens moeten houden.

>> chomp is altijd te verkiezen boven chop als het gaat om de newline
>> weg te halen.
> 
> Daar ben ik het mee eens.

:-)

-- 
John Bokma
                 Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar:  http://castleamber.com/
Tevreden opdrachtgevers:     http://castleamber.com/testimonials.html
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads