PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : textarea in Perl



Raver2
24-11-2005, 21:12
hi,

wie kann ich in Perl (Linux-script) eine Textarea darstellen?

mit "chomp ($input = <stdin>);" kann ich "nur" eine EingabeZEILE erstellen ...

michael.sprick
25-11-2005, 08:47
Hallo,

ähm... mit
chomp ($input = <stdin>); wird nix dargestellt - damit liest Du Daten von <stdin> in $input und entfernst mit chomp das Newline Zeichen am Ende der Eingabe.

Was meinst Du mit Textarea? HTML?

Raver2
25-11-2005, 11:48
ich wollte mit perl einen kleinen Texteditor machen ...

baumgartner
25-11-2005, 12:10
hmm, .......


mit @array = <STDIN> kannst du mehrzeilig einlesen; den einlesevorgang kannste mit ctrl + D glaub ich abbrechen

das is das einzig einfache das mir im moment einfällt

Raver2
25-11-2005, 14:12
mal eine andere Frage , wie kann ich Texte farbig gestallten?
ich wollte ein Script für die Linux-konsole schreiben

michael.sprick
25-11-2005, 14:28
Schau Dir mal die Curses und Term Module an...
Wenn Du einen editor für die Konsole (in Perl) schreiben willst, werden die Dir einiges an Arbeit abnehmen ;)

EDIT: http://www.cpan.org/modules/00modlist.long.html#ID8_UserInterfa

Raver2
25-11-2005, 15:05
gibt es einen befehl mit dem man Array zählen kann , unter PHP ist es ja count($array);

michael.sprick
25-11-2005, 16:26
Da gibt mehrere Möglichkeiten... die gebräuchlichsten sind wohl:


my @Array = ('asd','asdf','dgh','ghkj');
my $Anzahl = $#Array;


und


my @Array = ('asd','asdf','dgh','ghkj');
my $Anzahl = @Array;


letzteres funktioniert, weil im skalaren Kontext die Anzahl der Elemente des Arrays zurückgegeben wird - nicht das Array selber.

Raver2
25-11-2005, 16:43
Danke
das wars auch schon

Raver2
25-11-2005, 21:50
wie kann ich mit perl einen piepton ausgeben lassen?

in der LINUX-konsole geht das ja mit: echo -n -e \\a
aber mit system "echo -n -e \\a "; geht's nicht

ninguno
25-11-2005, 22:48
perl -e 'print "pieps\a"'

Raver2
26-11-2005, 11:31
Danke
und nochmal eine Frage :D

wie kann ich checken ob etwas in einem Array vorhanden ist?



@buchstaben = (A...Z);
@buchstaben_genutzt = ("A" , "H");

#[....]

sub buchstaben() {
print "\n";
foreach $bs (@buchstaben) {
foreach $bs_gn (@buchstaben_genutzt) {
if($bs eq $bs_gn) {
print colored("$bs " , "red");
} else {
print colored("$bs " , "green");
}
}
}
}

michael.sprick
26-11-2005, 12:38
da gibt es etliche Wege...

einer davon:



#!/usr/bin/perl

use strict;
use warnings;

my @Buchstaben = ('A'..'Z');
my @Buchstaben_genutzt = ('A','H');

foreach my $bs (@Buchstaben)
{
my $genutzt=0;
foreach(@Buchstaben_genutzt)
{
if($bs eq $_)
{
$genutzt=1;
last;
}
}
print colored("$bs ", $genutzt==1 ? "red" : "green" );
}

baumgartner
28-11-2005, 11:26
nur so mal als anregung


http://www.perl.com/pub/q/documentation

MFG Martin