/
Forside
/
Teknologi
/
Udvikling
/
Perl
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Perl
#
Navn
Point
1
bjarneA
141
2
poul_from
50
3
soccer
30
4
Nicknack
14
5
Tmpj
0
emulering af unix kommandoen tee (med log ~
Fra :
jaton
Dato :
19-06-01 15:02
Jeg har lavet et lille simpelt perlscript :
#!/usr/bin/perl
# perl.pl
`>./out.log`;
while (<STDIN>)
{
$input=<STDIN>;
$date=`date`;
chomp($date);
$tester="$date"." "."$input";
open(OUTPUT,">>./out.log");
print OUTPUT "$tester";
print STDOUT "$tester";
close(OUTPUT);
}
Når jeg kører kommandoen (perl.pl er programmet ovenfor)
$ telnet host | perl.pl
så virker det også fint, det skriver til logfilen og skriver til
skærmen. Der er bare det problem, at den ikke skiver det der kommer fra
tastaturet undtagen 'login: root' ved start og ^D ved slut. Den skriver
heller ikke prompt'en ($ i UNIX).
Logudsnit:
login: user 15:42:52 CEST 2001
Tue Jun 19 15:42:56 CEST 2001 SHELL -ksh
Tue Jun 19 15:42:59 CEST 2001 4.1 Professional Edition Datasheet.pdf
Tue Jun 19 15:42:59 CEST 2001
Securing-Optimizing-Linux-RH-Edition-v1.3.pdf
Tue Jun 19 15:42:59 CEST 2001 hp_virtual_partitions_whitepaper.pdf
Tue Jun 19 15:42:59 CEST 2001 vncrack.gz
Tue Jun 19 15:43:08 CEST 2001 majestix:jaton:/home/jaton-> ^D
Dette er en login en ls og en exit i form af ctrl-d.
Hvis der er en anden måde at løse det på, så er jeg åben for muligheder.
Mvh
Jannik
Jakob Schmidt (
24-06-2001
)
Kommentar
Fra :
Jakob Schmidt
Dato :
24-06-01 11:39
jaton <jaton@orangedk.com> writes:
> Jeg har lavet et lille simpelt perlscript :
> #!/usr/bin/perl
> # perl.pl
>
> `>./out.log`;
> while (<STDIN>)
> {
> $input=<STDIN>;
Uden ioevringt at have sat mig ind i dit script, saa ligner dette en fejl:
Linien while ( <STDIN> ) laeser en linie fra STDIN og anbringer den
i $_. Linien $input = <STDIN>; laeser _naeste_ linie fra STDIN og
anbringer den i $input. Det er jo $input, du bruger til noget, saa
du smider altsaa hver anden linie vaek.
Er det meningen?
--
Jakob
Søg
Alle emner
Teknologi
Udvikling
Perl
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177560
Tips :
31968
Nyheder :
719565
Indlæg :
6408943
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.