Schrift
[thread]9073[/thread]

tabs drucken

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
gma
 2007-06-07 01:41
#77351 #77351
User since
2007-06-02
7 Artikel
BenutzerIn
[default_avatar]
Hallo,

nochmal eine letzte dumme Frage:

ich möchte die einzelnen Werte des Ergebnisses eines Perlskripts so drucken, dass die Werte jeweils durch einen Tabulator getrennt werden.

Meine beiden Bücher aus der O'reilly-Reihe schweigen sich dazu aus, im Anhang konnte ich "\t" finden, verwende ich dies wie:

print $scalarxyz "\t";

druckt mein Mac (OS X 10.4) mir 5 Leerzeichen statt eines Tabulators.


Woran liegt das?

gma
ptk
 2007-06-07 02:04
#77352 #77352
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wie sieht denn die Ausgabe von
Code: (dl )
perl -e 'print "\t"'|od -c
bei dir aus?
gma
 2007-06-07 02:25
#77353 #77353
User since
2007-06-02
7 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bin mir jetzt nicht sicher, ob ich das so gemacht habe wie du dir das gedacht hast, aber :

perl -c 'print "\t"' im Terminal eingegeben ergibt, dass die nächste Aufforderung eingerückt ist (um einen Tabulator?).

perl -e 'print "\t"': Fehllermeldung, scheint er möchte das scipt 'print "\t"' öffnen!:
Can't open perl script "print "\t"": No such file or directory

Generell sei gesagt: mein tab delimited output sieht im Terminal ja tatsächlich nach tab delimited aus, etwa so:
A: 83 26 57 92 17 0 290 6 34 294 0 146 2 0 5 0 222 1 46 150


wenn ich das jetzt aber in textedit oder subethaedit (mein eigentlicher Editor) kopiere (oder auch in word, insbesondere excel), dann sind halt nur 6 Freizeichen zwischen den einzelnen Zahlen.

?????
gma
 2007-06-07 02:27
#77354 #77354
User since
2007-06-02
7 Artikel
BenutzerIn
[default_avatar]
ach so, das Skript sieht so aus (bitte nicht lachen, dass geht wahrscheinlich tausend mal eleganter):

#### my printout

my $i = 0;
print "A:\t";
while ( $i < 20 ) {

print $A_freq[$i] , "\t";
$i++;
}
bloonix
 2007-06-07 04:07
#77355 #77355
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=gma,07.06.2007, 00:25]perl -c 'print "\t"' im Terminal eingegeben ergibt...[/quote]
nicht perl -c, sondern -e :)\n\n

<!--EDIT|opi|1181174906-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bloonix
 2007-06-07 04:12
#77356 #77356
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=gma,07.06.2007, 00:27]ach so, das Skript sieht so aus (bitte nicht lachen, dass geht wahrscheinlich tausend mal eleganter):[/quote]
Hier wird niemand ausgelacht. Es werden allerhöchstens Verbesserungs-
vorschläge angebracht... aber dein Code ist so wie er ist vollkommen in
Ordnung! Warum auch nicht? Klar, man könnte sich kurz fassen ...

Code: (dl )
1
2
print "A:\t";
print $A_freq[$_], "\t" for 0..20;


aber das ist TIMTOWDI.\n\n

<!--EDIT|opi|1181175306-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
gma
 2007-06-07 09:49
#77357 #77357
User since
2007-06-02
7 Artikel
BenutzerIn
[default_avatar]
[quote=opi,07.06.2007, 02:07][quote=gma,07.06.2007, 00:25]perl -c 'print "\t"' im Terminal eingegeben ergibt...[/quote]
nicht perl -c, sondern -e :)[/quote]
Danke erstmal (TIM.... = there is more than one thing how to do it?)!

perl -e 'print "\t"'

ergibt eine um eine Tabulatorposition eingerückte Eingabeaufforderung wenn ich es im Terminal eingebe. Ist das ok? Ich denke schon.

Zudem sieht mein Output nach Tabs aus. Nur wenn ich ihn aus dem Terminal herauskopiere und in einen Texteditor paste sind es halt 6 Freizeichen.

Ich probiere jetzt mal mein Ergebnis in ein file zu schreiben, ist mittelfristig ohnehin das angestrebte Ziel.

gma
renee
 2007-06-07 11:30
#77358 #77358
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kann es sein, dass Dein Editor automatisch aus "Hard tabs" "Soft tabs" macht?
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/
bloonix
 2007-06-07 15:02
#77359 #77359
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=gma,07.06.2007, 07:49]Danke erstmal (TIM.... = there is more than one thing how to do it?)![/quote]
Korrekt. Solange dein Code keine wilden sachen macht und lesbar bleibt -
das ist er in deinem Fall, weil er einfach ist -, dann schreib wie du lustig bist.

[quote=gma,07.06.2007, 07:49]perl -e 'print "\t"'[/quote]
ptk wollte von dir, dass du die Ausgabe an den Befehl "od" weiterreichst.

od - dump files in octal and other formats
-c     same as -t c,  select ASCII characters or backslash escapes


Code: (dl )
perl -e 'print "\t"'|od -c

Bei mir wird dann folgendes ausgegeben:

Code: (dl )
1
2
3
$ perl -e 'print "\t"'|od -c
0000000  \t
0000001

Ich kenne mich damit zwar nicht aus, aber er wird schon wissen - und
andere hier vielleicht auch - was es damit auf sich hat.

Ob es den Befehl auf Mac gibt... dunno.\n\n

<!--EDIT|opi|1181244226-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Ronnie
 2007-06-07 16:21
#77360 #77360
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=opi,07.06.2007, 13:02]Ob es den Befehl auf Mac gibt... dunno.[/quote]
OS X ist auch ein Unix-Derivat ;)
Code: (dl )
1
2
3
 perl -e 'print "\t"'|od -c
0000000 \t
0000001
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2007-06-07 01:41.