Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7919[/thread]

nur ein zeichen von stdin lesen



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
vayu
 2006-04-24 12:32
#65258 #65258
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
hallo,

ich verzweifel grad daran.

da ich hier an der FH keine Module installieren darf, scheidet Term::InKey schonmal aus.

read(STDIN, $in, 1);

funktioniert auch nicht. ich muss immer noch ein ENTER eingeben, damit die eingabe akzeptiert wird.

ich möchte aber sowas wie:

"Bitte drücken Sie die Leertaste um fortzufahren."

wie kriege ich das ohne Modul hin?

Dankbar für jede Hilfe.

was ich auch noch probiert habe war

$/ = 1;

weil in perlvar steht, er würde dann versuchen nur exakt 1 Byte zu lesen, aber gelesen wird dann gar nix :)

achja, ich arbeite unter gentoo Linux.\n\n

<!--EDIT|vayu|1145867688-->
Crian
 2006-04-24 12:48
#65259 #65259
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Du weißt, dass du auch lokal installieren oder pure-Perlmodule mit zum Quellcode legen kannst?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
vayu
 2006-04-24 12:51
#65260 #65260
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
hatte das mal probiert, aber hat irgendwie nie so ganz geklappt. bin ein cpan oder ppm3 benutzer :)

gibt es denn eine möglichkeit, dass auch ohne modul zu erledigen?
Crian
 2006-04-24 12:54
#65261 #65261
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Sicher. Schau dir das Modul an, das das löst, das ist auch nicht vom Himmel gefallen =)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
esskar
 2006-04-24 12:58
#65262 #65262
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
du könntest CPAN:Term::InKey auch einfach in deine Pfad kopieren, dort wo dein script liegt. z.B. /foo/bar/Term/InKey.pm und es dann einfach benutzen
Crian
 2006-04-24 13:00
#65263 #65263
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ja, schrieb ich ja schon =)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
vayu
 2006-04-24 13:04
#65264 #65264
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
edit: funktioniert.

bei den meisten modulen musste man doch immer noch n make und son kram ausführen oder?

hier hat reinkopieren gereicht. danke\n\n

<!--EDIT|vayu|1145869552-->
renee
 2006-04-24 13:13
#65265 #65265
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das funktioniert nur mit PurePerl-Modulen. Das mit dem hineinkopieren sollte nur eine Notlösung sein und verursacht häufig Fehler. Also wenn möglich besser mit CPAN.pm, PPM oder mit perl Makefile.PL, make, make test, make install arbeiten...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2006-04-24 13:20
#65266 #65266
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=vayu,24.04.2006, 10:51]hatte das mal probiert, aber hat irgendwie nie so ganz geklappt. bin ein cpan oder ppm3 benutzer :)[/quote]
ähm, aber die faq hast du schon gelesen, oder?
Wiki:Wissensbasis.ModuleWieInstalliereIchEinModul
speziell:
http://wiki.perl-community.de/bin....eigenes
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
betterworld
 2006-04-25 02:23
#65267 #65267
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Hier noch eine unsaubere Loesung ohne Module, die vielleicht nur auf Linux funktioniert:
Code: (dl )
1
2
3
4
5
my $restore=`stty --save` or die;
system("stty -icanon -echo") and die;
read(STDIN, my $char, 1) or die $!;
system("stty $restore") and die;
print "thanks for pressing $char\n";
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2006-04-24 12:32.