Perl script split.pl
Hallo Leute,
Ich habe diesen Code hier:
#!/usr/sw/perl/default/bin/perl
-*- Mode: Perl -*- #########################
##
## File : $RCSfile$
##
## Author : Kai Großjohann
## Created On : Thu Dec 12 18:40:50 2002
## Last Modified : Time-stamp: <2002-12-21 21:46:42 kai>
##
## Description :
##
## $Id$
##
use strict;
use warnings;
use Pod::Usage;
use Getopt::Long;
use IO::File;
our $VERSION;
'$Name$ 0_0' =~ /(\d+)[-_](\d+)/; $VERSION = sprintf '%d.%03d', $1, $2;
my %OPT = ();
GetOptions( \%OPT,
version
),
) or pod2usage(2);
pod2usage(VERBOSE => 2) if $OPT{help};
print $VERSION, "\n" and exit if $OPT{version};
my $d = ''; # document
my $n = 0; # number
while (<>) {
if (m(^\.I)) {
my $f = IO::File->new($fname, "w");
$f->print($d);
$f->close();
$d = '';
$n++;
} elsif (m(^\.)) {
$d .= $_;
} else {
}
}
my $f = IO::File->new($fname, 'w');
$f->print($d);
$f->close();
## ################################
## subs
## #################################
__END__
## #################################
## pod
## ##################################
=head1 NAME
split.pl - Kai Großjohann is too lazy to provide a description?!
=head1 SYNOPSIS
B<split.pl>
[B<-help>] [B<-version>]
[B<file>...]
=head1 DESCRIPTION
Read C<cacm.all> format from the given files or from standard input.
Output is written to the F<doc> subdir, one document per file.
Files are named after the document number. The C<.I> line is not
written to the output files. The field indicators like C<.W> are
rewritten to use the at sign instead of dot, as in C<@W>.
=head1 OPTIONS
Option names may be abbreviated to uniqueness.
=over
=item B<-help>
Show this manual.
=item B<-version>
Show program version.
=back
=head1 EXAMPLES
% split.pl cacm/cacm.all
has the effect of writing files F<doc/0001> through F<doc/3338>, where
each file contains one document.
=head1 BUGS
Yes. Please let me know!
=head1 SEE ALSO
perl(1).
=head1 AUTHOR
Kai Großjohann E<lt>F<kai@ls6.cs.uni-dortmund.de>E<gt>
=cut
Die Datei für die das Program laufen soll heißt cacm.all (http://rapidshare.com/files/59055129/cacm.tar.gz). Leider kann ich gar
nichts damit anfangen. Es ist ein sehr merkwürdiges Script. Und diese Head1
befehle kenne ich schon gar nicht. Ich dachte ich muss hier den Pfand eingenben:
my $d = ''; # document
oder hier:
my $fname = sprintf("doc/%04d", $n);
Aber das klappt nicht. Wenn ich das Programm laufe kommt dieser Fehler:
Serverfehler!
Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler
aufgetreten ist.
Fehlermeldung:
Can't call method "print" on an undefined value at
C:/xampp/htdocs/modperl/split.pl line 65. ,
Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte
den Webmaster hierüber.
Error 500
localhost
10/07/07 18:16:46
Apache/2.2.4 (Win32) DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_autoindex_color
PHP/5.2.3 mod_perl/2.0.3 Perl/v5.8.8
Auch wenn ich mit cmd diesen Befehl eingebe kommt der selbe Fehler:
perl split.pl cacm.all
Dieser code muss die Ansammlung der 3200 Dokumente trennen und diese enzeln auf
einem Ordner auf der Festplatte speichern. Ich weiß aber nicht wo ich den Pfand
für die Datei cacm.all eingeben muss oder wo ich den Ordner in der die 3200
Dokumente gespeichert werden eingeben soll. Ich habe ausserdem eine split.man
Datei dabei. Leute bitte hilft mir ganz schnell denn dieser Code ist wirklich
sehr wichtig für mich.
Danke und viele Grüße
Hier die split.man Datei (weiß garnicht was das für eine Datei ist):
.\" Automatically generated by Pod::Man v1.32, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ===================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds :
\\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\
*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o
\\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================
.\"
.IX Title "SPLIT 1"
.TH SPLIT 1 "2002-12-21" "perl v5.6.1" "User Contributed Perl Documentation"
.SH "NAME"
split.pl \- Kai Großjohann is too lazy to provide a description?!
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBsplit.pl\fR
[\fB\-help\fR] [\fB\-version\fR]
[\fBfile\fR...]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Read \f(CW\*(C`cacm.all\*(C'\fR format from the given files or from standard
input.
Output is written to the \fIdoc\fR subdir, one document per file.
Files are named after the document number. The \f(CW\*(C`.I\*(C'\fR line is not
written to the output files. The field indicators like \f(CW\*(C`.W\*(C'\fR are
rewritten to use the at sign instead of dot, as in \f(CW@W\fR.
.SH "OPTIONS"
.IX Header "OPTIONS"
Option names may be abbreviated to uniqueness.
.IP "\fB\-help\fR" 4
.IX Item "-help"
Show this manual.
.IP "\fB\-version\fR" 4
.IX Item "-version"
Show program version.
.SH "EXAMPLES % split.pl cacm/cacm.all"
.IX Header "EXAMPLES % split.pl cacm/cacm.all"
has the effect of writing files \fIdoc/0001\fR through \fIdoc/3338\fR, where
each file contains one document.
.SH "BUGS"
.IX Header "BUGS"
Yes. Please let me know!
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIperl\fR\|(1).
.SH "AUTHOR"
.IX Header "AUTHOR"
Kai Großjohann <\fIkai@ls6.cs.uni\-dortmund.de\fR>
Ich habe diesen Code hier:
#!/usr/sw/perl/default/bin/perl
-*- Mode: Perl -*- #########################
##
## File : $RCSfile$
##
## Author : Kai Großjohann
## Created On : Thu Dec 12 18:40:50 2002
## Last Modified : Time-stamp: <2002-12-21 21:46:42 kai>
##
## Description :
##
## $Id$
##
use strict;
use warnings;
use Pod::Usage;
use Getopt::Long;
use IO::File;
our $VERSION;
'$Name$ 0_0' =~ /(\d+)[-_](\d+)/; $VERSION = sprintf '%d.%03d', $1, $2;
my %OPT = ();
GetOptions( \%OPT,
- default options
version
),
- application specific options
) or pod2usage(2);
pod2usage(VERBOSE => 2) if $OPT{help};
print $VERSION, "\n" and exit if $OPT{version};
my $d = ''; # document
my $n = 0; # number
while (<>) {
if (m(^\.I)) {
- beginning of document
my $f = IO::File->new($fname, "w");
$f->print($d);
$f->close();
$d = '';
$n++;
} elsif (m(^\.)) {
- other header line; "@" does not occur in cacm.all
$d .= $_;
} else {
- append line
}
}
- write out last document
my $f = IO::File->new($fname, 'w');
$f->print($d);
$f->close();
## ################################
## subs
## #################################
__END__
## #################################
## pod
## ##################################
=head1 NAME
split.pl - Kai Großjohann is too lazy to provide a description?!
=head1 SYNOPSIS
B<split.pl>
[B<-help>] [B<-version>]
[B<file>...]
=head1 DESCRIPTION
Read C<cacm.all> format from the given files or from standard input.
Output is written to the F<doc> subdir, one document per file.
Files are named after the document number. The C<.I> line is not
written to the output files. The field indicators like C<.W> are
rewritten to use the at sign instead of dot, as in C<@W>.
=head1 OPTIONS
Option names may be abbreviated to uniqueness.
=over
=item B<-help>
Show this manual.
=item B<-version>
Show program version.
=back
=head1 EXAMPLES
% split.pl cacm/cacm.all
has the effect of writing files F<doc/0001> through F<doc/3338>, where
each file contains one document.
=head1 BUGS
Yes. Please let me know!
=head1 SEE ALSO
perl(1).
=head1 AUTHOR
Kai Großjohann E<lt>F<kai@ls6.cs.uni-dortmund.de>E<gt>
=cut
Die Datei für die das Program laufen soll heißt cacm.all (http://rapidshare.com/files/59055129/cacm.tar.gz). Leider kann ich gar
nichts damit anfangen. Es ist ein sehr merkwürdiges Script. Und diese Head1
befehle kenne ich schon gar nicht. Ich dachte ich muss hier den Pfand eingenben:
my $d = ''; # document
oder hier:
my $fname = sprintf("doc/%04d", $n);
Aber das klappt nicht. Wenn ich das Programm laufe kommt dieser Fehler:
Serverfehler!
Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler
aufgetreten ist.
Fehlermeldung:
Can't call method "print" on an undefined value at
C:/xampp/htdocs/modperl/split.pl line 65. ,
Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte
den Webmaster hierüber.
Error 500
localhost
10/07/07 18:16:46
Apache/2.2.4 (Win32) DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_autoindex_color
PHP/5.2.3 mod_perl/2.0.3 Perl/v5.8.8
Auch wenn ich mit cmd diesen Befehl eingebe kommt der selbe Fehler:
perl split.pl cacm.all
Dieser code muss die Ansammlung der 3200 Dokumente trennen und diese enzeln auf
einem Ordner auf der Festplatte speichern. Ich weiß aber nicht wo ich den Pfand
für die Datei cacm.all eingeben muss oder wo ich den Ordner in der die 3200
Dokumente gespeichert werden eingeben soll. Ich habe ausserdem eine split.man
Datei dabei. Leute bitte hilft mir ganz schnell denn dieser Code ist wirklich
sehr wichtig für mich.
Danke und viele Grüße
Hier die split.man Datei (weiß garnicht was das für eine Datei ist):
.\" Automatically generated by Pod::Man v1.32, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ===================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds :
\\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\
*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o
\\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================
.\"
.IX Title "SPLIT 1"
.TH SPLIT 1 "2002-12-21" "perl v5.6.1" "User Contributed Perl Documentation"
.SH "NAME"
split.pl \- Kai Großjohann is too lazy to provide a description?!
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBsplit.pl\fR
[\fB\-help\fR] [\fB\-version\fR]
[\fBfile\fR...]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Read \f(CW\*(C`cacm.all\*(C'\fR format from the given files or from standard
input.
Output is written to the \fIdoc\fR subdir, one document per file.
Files are named after the document number. The \f(CW\*(C`.I\*(C'\fR line is not
written to the output files. The field indicators like \f(CW\*(C`.W\*(C'\fR are
rewritten to use the at sign instead of dot, as in \f(CW@W\fR.
.SH "OPTIONS"
.IX Header "OPTIONS"
Option names may be abbreviated to uniqueness.
.IP "\fB\-help\fR" 4
.IX Item "-help"
Show this manual.
.IP "\fB\-version\fR" 4
.IX Item "-version"
Show program version.
.SH "EXAMPLES % split.pl cacm/cacm.all"
.IX Header "EXAMPLES % split.pl cacm/cacm.all"
has the effect of writing files \fIdoc/0001\fR through \fIdoc/3338\fR, where
each file contains one document.
.SH "BUGS"
.IX Header "BUGS"
Yes. Please let me know!
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIperl\fR\|(1).
.SH "AUTHOR"
.IX Header "AUTHOR"
Kai Großjohann <\fIkai@ls6.cs.uni\-dortmund.de\fR>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70331
Url: https://administrator.de/forum/perl-script-split-pl-70331.html
Ausgedruckt am: 26.12.2024 um 00:12 Uhr
11 Kommentare
Neuester Kommentar
Die =head... Einträge sind für die Dokumentation. Perl baut damit halbautomatisch aus em Code die Dokumentation (perldoc) zusammen.
Das Ding teilt eine Datei in mehrere kleine auf.
Die my $d = '' sind lediglich variablendeklarationen mit einer Vorbelegung als leere datei.
mit -h sollte dieses kleine Manual kommen:
Read C<cacm.all> format from the given files or from standard input.
Output is written to the F<doc> subdir, one document per file.
Files are named after the document number. The C<.I> line is not
written to the output files. The field indicators like C<.W> are
rewritten to use the at sign instead of dot, as in C<@W>.
split.pl cacm/cacm.all
has the effect of writing files F<doc/0001> through F<doc/3338>, where
each file contains one document.
Das Ding teilt eine Datei in mehrere kleine auf.
Die my $d = '' sind lediglich variablendeklarationen mit einer Vorbelegung als leere datei.
mit -h sollte dieses kleine Manual kommen:
Read C<cacm.all> format from the given files or from standard input.
Output is written to the F<doc> subdir, one document per file.
Files are named after the document number. The C<.I> line is not
written to the output files. The field indicators like C<.W> are
rewritten to use the at sign instead of dot, as in C<@W>.
split.pl cacm/cacm.all
has the effect of writing files F<doc/0001> through F<doc/3338>, where
each file contains one document.
OK so wie es aussieht prüft das script nicht ob alle CPAN Module von Perl da sind.
Der Fehler dürfte hier entstehen:
my $fname = sprintf("doc/%04d", $n);
my $f = IO::File->new($fname, 'w');
$f->print($d);
$f->close();
Um das in den Griff zu bekommen benötigst Du das Perl-Modul IO::File welches offenbar in deinem Perl nicht vorhanden ist. Das Modul gibts zum Download im CPAN (Coprehensive Perl Archive Network). Mit Windows habe ich das noch nie gemacht (ich mache da mehr unter Linux) sollte aber genauso funktionieren.
Von der Kommandozeile folgendes Aufrufen
perl -MCPAN -e shell
install IO::File
Der erste Befehl startet die shell für das CPAN "nachlademodul".
Der zweite Befehl installiert das benötigte Modul.
Es kann sein dass einige Submodule von IO::File benötigt werden, bzw. erstmal die Downloadquellen ausgewählt werden müssen. Das ganze geht dialogorientiert und sollte machbar sein.
Gruß
Christian
Der Fehler dürfte hier entstehen:
my $fname = sprintf("doc/%04d", $n);
my $f = IO::File->new($fname, 'w');
$f->print($d);
$f->close();
Um das in den Griff zu bekommen benötigst Du das Perl-Modul IO::File welches offenbar in deinem Perl nicht vorhanden ist. Das Modul gibts zum Download im CPAN (Coprehensive Perl Archive Network). Mit Windows habe ich das noch nie gemacht (ich mache da mehr unter Linux) sollte aber genauso funktionieren.
Von der Kommandozeile folgendes Aufrufen
perl -MCPAN -e shell
install IO::File
Der erste Befehl startet die shell für das CPAN "nachlademodul".
Der zweite Befehl installiert das benötigte Modul.
Es kann sein dass einige Submodule von IO::File benötigt werden, bzw. erstmal die Downloadquellen ausgewählt werden müssen. Das ganze geht dialogorientiert und sollte machbar sein.
Gruß
Christian