Thread wer hat lust auf ein Spiel?
(61 answers)
Opened by conray at 2010-02-19 20:31
Warum als Dateiname ein Integer? "filename=s" sollte s wohl sein.
Wie ich schon sagte benutze besser "expfilename=s" oder "exportfile=s" "filename" ist sehr Allgemeingültig. "out" ist ein reserviertes Wort Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #_______________________________________________________________________ 'export=s, exportfile=s' => [ "export parameter [--exportfile=<filename>]\t\texports a part of this script into a standalonescript", sub { my ($com, $file) = @_; my $line; open (my $out, ">> $file"); print $out "#!/usr/bin/perl\n"; print $out "use strict;\n"; print $out "use warnings;\n"; print $out "use FindBin;\n"; print $out "use Net::Ping;\n"; print $out "use LWP::UserAgent;\n"; print $out "use HTTP::Cookies;\n"; print $out "use File::Basename;\n"; open(my $in '<', __FILE__); # man muss die Datei auch öffnen if ($com eq "assimilate" || $com eq "get_country") # stringvergleiche mit "eq" { while($line = <$in> ) { if ($line =~ /^\Q\#exmark-$com-start\E/ .. $line =~ /^\Q\#exmark-$com-stop\E/) { print $out $line; } if ($line =~ /^\Q\#exmark-$com-part-start\E/ .. $line =~ /^\Q\#exmark-$com-part-stop\E/) { print $out $line; } } } else { while($line = <$in> ) { if ($line =~ /^\Q\#exmark-$com-start\E/ .. $line =~ /^\Q\#exmark-$com-stop\E/) { print $out $line; } } } close($in); close($out); }], Aber der Code, wie du ihn da stehen hast wird niemals funktionstüchtigen Code exportieren, da du die Parameterübergabe an an den heraus geschnittenen Code nicht korrekt machst (nicht vorhanden). Weiterhin muss man bei jedem neuen Code der eingefügt wird neue Marker setzen, das ist aufwändig und Fehleranfällig. Und du hängst überall an vorhandenen Dateien an, wenn du also zweimal in die selbe Datei exportierst, hast du den gesamten Code zweimal da drin stehen. Außerdem musst du hin und wieder auch ein "\n" setzen (siehe "use" Zeilen) Was glaubst du weshalb ich die ganzen Klimmzüge gemacht habe? :-) EDIT: Du hast nicht verstanden wie "assimilate" funktioniert. Den Code, den du da exportieren willst wird nicht funktionieren. "assimilate" lässt sich so ohne weiteres nicht exportieren. Zumindest nicht ohne einigen Code um zu schreiben. Last edited: 2010-03-16 21:25:29 +0100 (CET) |