Schrift
[thread]8681[/thread]

Zeilenangaben im Perlscript: brauch Script als Text mit Zeilenangaben

Leser: 2


<< >> 5 Einträge, 1 Seite
Gast Gast
 2007-01-24 17:54
#73589 #73589
Hallo erstmal an alle! (<- bin Forumneuling & Perlanfänger)

Für meine Facharbeit muss ich mein Programm dokumentieren und daher das Script in als Text StarOffice kopieren. Hierbei wäre es sehr nützlich, jeweils am Zeilenanfang die Zeilennummer stehen zu haben. Bis jetzt habe ich jedoch noch nicht herausgefunden wie ich das machen könnte (manuell eingeben wäre schlecht bei 1500 Zeilen ''_'' )
Ich würde mich sehr auf Vorschläge bezüglich des Problems freuen.
renee
 2007-01-24 18:00
#73590 #73590
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl

use strict;
use warnings;

my $file = '/path/to/file';

open my $fh,'<',$file or die $!;
while(my $line = <$fh>){
print sprintf("%4d %s",$.,$line);
}
close $fh;


edit: Die Zeilennummer steht in $.. Das ist in perlvar dokumentiert...

edit2: die 3 im sprintf auf 4 geändert, da es ja bis 1500 geht...\n\n

<!--EDIT|renee|1169654563-->
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/
Taulmarill
 2007-01-24 18:00
#73591 #73591
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Das ist eigentlich ein tolles Problem für Perl. Lösen kann man das z.b. so:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
use warnings;
use strict;

my $datei = "test.pl";
open FILE, "<$datei" or die $!;
my $counter = 1;

while ( my $line = <FILE> ) {
printf "%04d %s", $counter, $line;
$counter++;
}

close FILE;
\n\n

<!--EDIT|Taulmarill|1169654583-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Ronnie
 2007-01-24 18:21
#73592 #73592
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
unter Linux/Unix/OS X per nl auf der Kommandozeile:
Code: (dl )
nl -w4 < skript.pl
sesth
 2007-01-25 14:24
#73593 #73593
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Oder ohne Perl ;) . In Staroffice im entsprechenden Style einfach die Zeilennumerierung einschalten.
Gruß
Thomas
<< >> 5 Einträge, 1 Seite



View all threads created 2007-01-24 17:54.