• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

open(my $out: Frage nach Ausgabe einers Scripts: HowTo!?

halli hallo liebe Linux-Freunde guten ABEND

wollte mich mal wieder melden...


hab eine Aufgabe - moechte von web-sites (2500) screenshots machen - brauche diese als Thumbnails...
Also ich habe ein Verzeichnis mit Urls - das nenne ich mal urls.txt soweit so gut.


Das sieht dann also so aus:


Code:
    http://www.unifr.ch/sfm
    http://www.zug.phz.ch
    http://www.schwyz.phz.ch
    http://www.luzern.phz.ch
    http://www.schwyz.phz.ch
    http://www.phvs.ch
    http://www.phtg.ch
    http://www.phsg.ch
    http://www.phsh.ch
    http://www.phr.ch
    http://www.hepfr.ch/
    http://www.phbern.ch

Dazu hab ich folgenden Code - der läuft auch nicht schlecht!


Code:
  #!/usr/bin/perl
  use strict;
  use warnings;
  use WWW::Mechanize::Firefox;
  my $mech = new WWW::Mechanize::Firefox();
  open my $urls, '<', 'urls.txt' or die $!;
  while (<$urls>) {
    chomp;
    next unless /^http/i;
    print "$_\n";
    $mech->get($_);
    my $png = $mech->content_as_png;
    my $name = $_;
    $name =~ s#^http://##i;
    $name =~ s#/##g;
    $name =~ s/\s+\z//;
    $name =~ s/\A\s+//;
    $name =~ s/^www\.//;
    $name .= ".png";
  open(my $out, '>', "/images/$name")or die $!;
  binmode $out;
    print $out $png;
    close $out;
    sleep 5;
  }




alles liegt in diesem Ordner drinne:
Code:
/home/martin/perl
und jetzt kommt der Punkt - ich krieg das script nicht dazu das es in den Ordner images reinschreibt

Code:
/home/martin/perl/images


- es macht immer alles aber nicht das was ich will.
M.a.W. es ist wie verhext - in den Ornder schreibts nicht rein. ABER ich glaube ich muss sowieso aufpassen - es kann nämlich auch sein, dass ich den Ordner
ggf. irgendwie falsch angelegt habe - mit systemrechten oder so. DAS kann dann ggf. dazu fuehren dass ich dann am Ende eines erreiche.
Dass ich Rechtprobleme bekomme und dann der Ordner nicht mehr beschrieben wird & werden kann.

Frage also - wie kann ich das denn umgehen - wie kan ich (jetzt an dieser Stelle) das Problem umgehen und das ganze so einrichten dass auf jeden FALL in
einen separaten Ordner geschrieben wird!?

Dazu koennte ich doch einen Ordner einrichten der ausserhalb lieght - ausserhalb von

Code:
/home/martin/perl

Frage - wie müsste denn dann die Zeile aussehen - diese hier ...

Code:
  open(my $out, '>', "/images/$name")or die $!;

Freu mich auf einen Tipp

viele Gruesse Lin
 
Oben