🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
2 messages
2 total messages Started by piecia aka dracorp Wed, 15 Jun 2011 10:19
Problem z kilkukrotnym wywołaniem getpwent()
#52258
Author: piecia aka dracorp
Date: Wed, 15 Jun 2011 10:19
37 lines
1541 bytes
Witam
Na początku kod:
#v+
#!/usr/bin/perl 
use strict;
use warnings;
my $krok = 0;
my $login = "root";
sub getent {
	my ( $par1 )	= @_;
	print $krok++.":$par1\n";
	while(my @list = getpwent){
		if($list[0] eq $par1){
			print "@list\n";
		}
	}
}
for(1..3){
	getent($login);
}
#v-

wynik jego działania:
#v+
0:root
root x 0 0   root /root /bin/bash
1:root
2:root  
#v-
Dlaczego za 2-gim i następnym razem getpwent nie zwraca żadnych wartości? 

ps. we właściwym kodzie zrobiłem to inaczej, przepisałem wszystko co 
zwraca getpwent do hasha. Ale to OT.

-- 
piecia aka dracorp
pisz na: piotr kropka rogoza at wp kropka eu
Re: Problem z kilkukrotnym wywołaniem getpwent()
#52259
Author: Stachu 'Dozzie' K.
Date: Wed, 15 Jun 2011 10:30
30 lines
1972 bytes
On 2011-06-15, piecia aka dracorp <imie.nazwisko@wp.eu> wrote:
> Witam
> Na początku kod:
> #v+
> #!/usr/bin/perl 
[...]
> 	while(my @list = getpwent){
> 		if($list[0] eq $par1){
> 			print "@list\n";
> 		}
> 	}
[...]
> #v-
[...]
> Dlaczego za 2-gim i następnym razem getpwent nie zwraca żadnych wartości? 

Bo dojechał do końca bazy passwd. Odpieprz się od tej funkcji jeśli nie
wiesz jak działa.

> ps. we właściwym kodzie zrobiłem to inaczej, przepisałem wszystko co 
> zwraca getpwent do hasha. Ale to OT.

Aaale właściwie dlaczego pieprzysz się z tym w ten sposób zamiast po
ludzku wywołać getpwnam()?

Czytałeś w ogóle `perldoc -f getpwent' i `man getpwent'?

-- 
Secunia non olet.
Stanislaw Klekot
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