🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
3 messages
3 total messages Started by tomjas Sun, 28 Nov 2010 11:10
Zmienna w petli foreach
#52062
Author: tomjas
Date: Sun, 28 Nov 2010 11:10
14 lines
1125 bytes
Witam.
Robie drugie podejscie do nauki perla wiedc prosze o wyrozumialosc.
Problem jest taki - dlaczego dziala to:

perl -e '@l=qw/los sol wod/;foreach (@l){print if /lo/}'

a nie dziala to:

perl -e '@l=qw/los sol wod/;foreach $item (@l){print $item if /lo/}'

W ksiazce mam podstawowa definicje petli foreach wlasnie w tej drugiej
postaci.
Z gory dzieki i pozdrawiam.
TJ
Re: Zmienna w petli foreach
#52064
Author: Maciej Misiak
Date: Sun, 28 Nov 2010 11:23
23 lines
1636 bytes
W dniu 2010-11-28 12:10, tomjas pisze:
> Witam.
> Robie drugie podejscie do nauki perla wiedc prosze o wyrozumialosc.
> Problem jest taki - dlaczego dziala to:
>
> perl -e '@l=qw/los sol wod/;foreach (@l){print if /lo/}'
>
> a nie dziala to:
>
> perl -e '@l=qw/los sol wod/;foreach $item (@l){print $item if /lo/}'
>
> W ksiazce mam podstawowa definicje petli foreach wlasnie w tej drugiej
> postaci.
> Z gory dzieki i pozdrawiam.
> TJ

Bo wyrażenie regularne działa w obu przypadkach na zmiennej $_. Musisz 
je w drugim przypadku uruchomić dla $item:

perl -e '@l=qw/los sol wod/;foreach $item (@l){print $item if $item=~/lo/}'

-- 
grizzley
Re: Zmienna w petli foreach
#52066
Author: tomjas
Date: Sun, 28 Nov 2010 11:26
25 lines
1631 bytes
On Sun, 28 Nov 2010 12:23:25 +0100, Maciej Misiak wrote:
> W dniu 2010-11-28 12:10, tomjas pisze:
>> Witam.
>> Robie drugie podejscie do nauki perla wiedc prosze o wyrozumialosc.
>> Problem jest taki - dlaczego dziala to:
>>
>> perl -e '@l=qw/los sol wod/;foreach (@l){print if /lo/}'
>>
>> a nie dziala to:
>>
>> perl -e '@l=qw/los sol wod/;foreach $item (@l){print $item if /lo/}'
>>
>> W ksiazce mam podstawowa definicje petli foreach wlasnie w tej drugiej
>> postaci.
>> Z gory dzieki i pozdrawiam.
>> TJ
>
> Bo wyrażenie regularne działa w obu przypadkach na zmiennej $_. Musisz 
> je w drugim przypadku uruchomić dla $item:
>
> perl -e '@l=qw/los sol wod/;foreach $item (@l){print $item if $item=~/lo/}'
>
Jasne - moja glupota:) Dzieki za szybka odpowiedz.
Pozdrawiam,
TJ
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